lr_policy.h 628 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#ifndef PADDLE_OPTIMIZER_LR_POLICY_H_
#define PADDLE_OPTIMIZER_LR_POLICY_H_

#include "OptimizerConfig.ph.h"

namespace paddle {
namespace optimizer {

class BaseLr {
public:
  LrPolicyBase(const OpitmizerConfig &config) {
    learning_rate = config.lr_config().learning_rate();
  }
  virtual double get_learning_rate(const uint64_t num_sample_passed) = 0;

private:
  double learning_rate;
};

// constant learning rate policy
class ConstLr final : public BaseLr {
public:
  double get_learning_rate(const uint64_t num_sample_passed) {
    return learning_rate;
  }
};

}  // namespace optimizer
}  // namespace paddle

#endif