Go to the documentation of this file.
25 #ifndef MXNET_CPP_LR_SCHEDULER_H_
26 #define MXNET_CPP_LR_SCHEDULER_H_
28 #include "dmlc/logging.h"
53 virtual float GetLR(
unsigned num_update) = 0;
69 stop_factor_lr_ = stop_factor_lr;
72 float GetLR(
unsigned num_update)
override {
73 while (num_update >
unsigned(count_ + step_)) {
78 LG <<
"Update[" << num_update <<
"]: now learning rate arrived at " <<
base_lr_
79 <<
", will not change in the future";
81 LG <<
"Update[" << num_update <<
"]: Change learning rate to " <<
base_lr_;
91 float stop_factor_lr_;
97 #endif // MXNET_CPP_LR_SCHEDULER_H_
namespace of mxnet
Definition: api_registry.h:33
void SetLR(const float lr)
set base lr
Definition: lr_scheduler.h:47
Definition: lr_scheduler.h:63
LRScheduler(float base_lr=0.01)
constructor
Definition: lr_scheduler.h:42
float GetLR(unsigned num_update) override
get a new learning rate
Definition: lr_scheduler.h:72
lr scheduler interface
Definition: lr_scheduler.h:36
virtual ~LRScheduler()
destructor
Definition: lr_scheduler.h:57
float base_lr_
Definition: lr_scheduler.h:60
FactorScheduler(int step, float factor=1, float stop_factor_lr=1e-8)
Definition: lr_scheduler.h:65
virtual float GetLR(unsigned num_update)=0
get a new learning rate