MCPcopy Create free account
hub / github.com/alibaba/MNN / ParameterOptimizer

Method ParameterOptimizer

tools/train/source/optimizer/ParameterOptimizer.cpp:69–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67namespace MNN {
68namespace Train {
69ParameterOptimizer::ParameterOptimizer(std::shared_ptr<Module> module) {
70 mModule = module;
71 if (nullptr == mModule) {
72 mModule.reset(Module::createEmpty(std::vector<MNN::Express::VARP>{}));
73 }
74 auto parameters = mModule->parameters();
75 for (auto p : parameters) {
76 if (nullptr == p.get()) {
77 continue;
78 }
79 if (p->expr().first->get() != nullptr) {
80 continue;
81 }
82 if (p->expr().first->inputType() == Express::VARP::TRAINABLE) {
83 mTrainable.insert(p);
84 }
85 }
86}
87
88ParameterOptimizer* ParameterOptimizer::createSGD(std::shared_ptr<Module> module, float lr, float momentum, float weightDecay, RegularizationMethod method) {
89 auto sgd = new SGD(module);

Callers

nothing calls this directly

Calls 4

parametersMethod · 0.80
resetMethod · 0.45
getMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected