gradient-ascent.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2018,
3  * Julian Viereck
4  *
5  * CNRS/AIST
6  *
7  */
8 
9 #ifndef __SOT_GRADIENTASCENT_H__
10 #define __SOT_GRADIENTASCENT_H__
11 
12 /* --------------------------------------------------------------------- */
13 /* --- INCLUDE --------------------------------------------------------- */
14 /* --------------------------------------------------------------------- */
15 
16 #include <dynamic-graph/entity.h>
17 #include <dynamic-graph/signal-ptr.h>
18 #include <dynamic-graph/signal-time-dependent.h>
19 #include <sot/core/config.hh>
20 
21 namespace dg = ::dynamicgraph;
22 
23 namespace dynamicgraph {
24 namespace sot {
25 
26 /* --------------------------------------------------------------------- */
27 /* --- TRACER ---------------------------------------------------------- */
28 /* --------------------------------------------------------------------- */
29 
30 using dynamicgraph::Entity;
31 using dynamicgraph::SignalPtr;
32 using dynamicgraph::SignalTimeDependent;
33 
34 class SOT_CORE_DLLAPI GradientAscent : public Entity {
35  DYNAMIC_GRAPH_ENTITY_DECL();
36 
37 public:
38  SignalPtr<dg::Vector, int> gradientSIN;
39  SignalPtr<double, int> learningRateSIN;
40  SignalTimeDependent<int, int> refresherSINTERN;
41  SignalTimeDependent<dg::Vector, int> valueSOUT;
42 
43 public:
44  GradientAscent(const std::string &n);
45  virtual ~GradientAscent(void);
46 
47 protected:
48  dg::Vector &update(dg::Vector &res, const int &inTime);
49 
50  dg::Vector value;
51 
52  double alpha;
53  bool init;
54 };
55 
56 } /* namespace sot */
57 } /* namespace dynamicgraph */
58 
59 #endif /* #ifndef __SOT_TRACER_H__ */
dynamicgraph::sot::GradientAscent
Definition: gradient-ascent.hh:34
dynamicgraph::sot::GradientAscent::value
dg::Vector value
Definition: gradient-ascent.hh:50
dynamicgraph
Definition: abstract-sot-external-interface.hh:17
dynamicgraph::sot::GradientAscent::alpha
double alpha
Definition: gradient-ascent.hh:52
dynamicgraph::sot::GradientAscent::learningRateSIN
SignalPtr< double, int > learningRateSIN
Definition: gradient-ascent.hh:39
dynamicgraph::sot::GradientAscent::valueSOUT
SignalTimeDependent< dg::Vector, int > valueSOUT
Definition: gradient-ascent.hh:41
dynamicgraph::sot::GradientAscent::gradientSIN
SignalPtr< dg::Vector, int > gradientSIN
Definition: gradient-ascent.hh:38
dynamicgraph::sot::GradientAscent::refresherSINTERN
SignalTimeDependent< int, int > refresherSINTERN
Definition: gradient-ascent.hh:40
SOT_CORE_DLLAPI
#define SOT_CORE_DLLAPI
Definition: config.hh:64
dynamicgraph::sot::GradientAscent::init
bool init
Definition: gradient-ascent.hh:53
config.hh