Program Listing for File sgd.h

Return to documentation for file (include/converter/include/ops/sgd.h)

#ifndef MINDSPORE_CORE_OPS_SGD_H_
#define MINDSPORE_CORE_OPS_SGD_H_
#include <memory>
#include <vector>

#include "ops/base_operator.h"

namespace mindspore {
namespace ops {
constexpr auto kNameSGD = "SGD";
class MIND_API SGD : public BaseOperator {
 public:
  MIND_API_BASE_MEMBER(SGD);
  SGD() : BaseOperator(kNameSGD) {
    InitIOName({"parameters", "gradient", "learning_rate", "accum", "momentum", "stat"}, {"output"});
  }
  void Init(const float dampening = 0.0, const float weight_decay = 0.0, const bool nesterov = false);
  void set_dampening(const float dampening);
  void set_weight_decay(const float weight_decay);
  void set_nesterov(const bool nesterov);
  float get_dampening() const;
  float get_weight_decay() const;
  bool get_nesterov() const;
};
MIND_API abstract::AbstractBasePtr SGDInfer(const abstract::AnalysisEnginePtr &, const PrimitivePtr &primitive,
                                            const std::vector<abstract::AbstractBasePtr> &input_args);
using PrimSGD = std::shared_ptr<SGD>;
}  // namespace ops
}  // namespace mindspore
#endif  // MINDSPORE_CORE_OPS_SGD_H_