#ifndef PADDLE_SGD_OPTIMIZER_H_ #define PADDLE_SGD_OPTIMIZER_H_ #include "parameter_optimizer.h" namespace paddle { namespace optimizer { template class SGDOptimizer : public ParameterOptimizer { public: SGDOptimizer(const ::paddle::OptimizerConfig& config); ~SGDOptimizer() { // clear memory by Tensor library delete momentums_; } void update(const Tensor& gradient); void set_weight(const Tensor* p); T* get_weight() const; char* get_config_proto(); private: Tensor* momentums_; double momentum; double decay; bool nesterov; }; } // namespace optimizer } // namespace paddle #endif