Go to the documentation of this file.
26 #ifndef MXNET_CPP_OPTIMIZER_H_
27 #define MXNET_CPP_OPTIMIZER_H_
36 #include "dmlc/logging.h"
53 explicit Optimizer(
unsigned begin_num_update);
58 virtual std::string
GetType()
const = 0;
71 std::string value_str;
130 static std::map<std::string, OptimizerCreator>& cmap();
134 #define MXNETCPP_REGISTER_OPTIMIZER(Name, OptimizerType) \
135 OptimizerRegistry::__REGISTER__(#Name, []() { return new OptimizerType(); })
140 std::string
GetType()
const override;
145 void CreateState_(
int index,
NDArray weight)
override;
146 std::map<int, NDArray*> states_;
154 std::string
GetType()
const override;
159 void CreateState_(
int index,
NDArray weight)
override;
160 std::map<int, NDArray*> states_;
168 std::string
GetType()
const override;
173 void CreateState_(
int index,
NDArray weight)
override;
174 std::map<int, NDArray*> n_, g_, delta_;
182 std::string
GetType()
const override;
187 void CreateState_(
int index,
NDArray weight)
override;
188 std::map<int, NDArray*> mean_;
189 std::map<int, NDArray*> var_;
196 std::string
GetType()
const override;
201 void CreateState_(
int index,
NDArray weight)
override;
202 std::map<int, NDArray*> history_;
208 std::string
GetType()
const override;
213 void CreateState_(
int index,
NDArray weight)
override;
214 std::map<int, NDArray*> acc_g_, acc_delta_;
220 #endif // MXNET_CPP_OPTIMIZER_H_
virtual ~Optimizer()
destructor
namespace of mxnet
Definition: api_registry.h:33
void Update(int index, NDArray weight, NDArray grad) override
Update a weight with gradient.
void Update(int index, NDArray weight, NDArray grad) override
Update a weight with gradient.
Definition: optimizer.h:193
Definition: optimizer.h:179
Definition: optimizer.h:151
std::string GetType() const override
get optimizer type
void Update(int index, NDArray weight, NDArray grad) override
Update a weight with gradient.
virtual std::string GetType() const =0
get optimizer type
RMSPropOptimizer(unsigned begin_num_update=0)
std::map< std::string, std::string > params_
Definition: optimizer.h:109
unsigned UpdateCount_(int index)
AdaDeltaOptimizer(unsigned begin_num_update=0)
unsigned begin_num_update_
Definition: optimizer.h:114
NDArray interface.
Definition: ndarray.h:122
std::string GetType() const override
get optimizer type
virtual void Update(int index, NDArray weight, NDArray grad)=0
Update a weight with gradient.
A faster implementation of strtof and strtod.
Definition: optimizer.h:137
void Update(int index, NDArray weight, NDArray grad) override
Update a weight with gradient.
AdaGradOptimizer(unsigned begin_num_update=0)
Scheduling learning rate.
const std::vector< const char * > GetParamKeys_() const
OpMap instance holds a map of all the symbol creators so we can get symbol creators by name....
Definition: op_map.h:42
Definition: optimizer.h:205
std::string GetType() const override
get optimizer type
Optimizer interface.
Definition: optimizer.h:47
float stof(const std::string &value, size_t *pos=nullptr)
A faster implementation of stof(). See documentation of std::stof() for more information....
Definition: strtonum.h:467
std::string GetType() const override
get optimizer type
std::string GetType() const override
get optimizer type
std::function< Optimizer *()> OptimizerCreator
Definition: optimizer.h:122
std::string GetType() const override
get optimizer type
std::unique_ptr< LRScheduler > lrScheduler_
Definition: optimizer.h:119
static Optimizer * Find(const std::string &name)
virtual void CreateState_(int index, NDArray weight)
void Update(int index, NDArray weight, NDArray grad) override
Update a weight with gradient.
void Update(int index, NDArray weight, NDArray grad) override
Update a weight with gradient.
void * AtomicSymbolCreator
handle to a function that takes param and creates symbol
Definition: c_api.h:78
Optimizer * SetLRScheduler(std::unique_ptr< LRScheduler > lrScheduler)
Definition: optimizer.h:84
const std::vector< const char * > GetParamValues_() const
SGDOptimizer(unsigned begin_num_update=0)
std::map< int, unsigned > count_
Definition: optimizer.h:113
unsigned num_update_
Definition: optimizer.h:114
Definition: optimizer.h:124
Optimizer(unsigned begin_num_update)
constructor
std::string Serialize() const
Serialize the optimizer parameters to a string.
static int __REGISTER__(const std::string &name, OptimizerCreator creator)
base definitions for mxnetcpp
AdamOptimizer(unsigned begin_num_update=0)
Optimizer * SetParam(const std::string &name, const T &value)
set config parameters
Definition: optimizer.h:70
SignumOptimizer(unsigned begin_num_update=0)
Definition: optimizer.h:165