首页 > 解决方案 > Caffe“未知求解器类型:SGD”

问题描述

在 Windows 10 下构建 Caffe(最新版本,仅 CPU 构建),用于 VS C++ 项目。让一切开始工作不得不麻烦。但是在创建Solver类的实例时,会发生错误。

SolverParameter solverParam;
ReadSolverParamsFromTextFileOrDie("solver.prototxt", &solverParam);
boost::shared_ptr<Solver<float>> solver(SolverRegistry<float>::CreateSolver(solverParam));

输出:

WARNING: Logging before InitGoogleLogging() is written to STDERR
F0601 14:21:42.943118 10832 solver_factory.cpp:29] Check failed: registry.count(type) == 1 (0 vs. 1) Unknown solver type: SGD (known types: )
*** Check failure stack trace: ***

solver.prototxt 内容:

net: "model.prototxt"
base_lr: 0.02
lr_policy: "step"
gamma: 0.5
stepsize: 500000
display: 10
max_iter: 5000
snapshot: 1000000
snapshot_prefix: "XORProblem"
solver_mode: CPU
test_iter: 1
test_interval: 2000

是什么原因?

标签: c++windowsmachine-learningcaffe

解决方案


我通过将“caffe/solvers/sgd_solver.cpp”包含到“caffe.cpp”中解决了这个问题。


推荐阅读