如何在caffe python编程中手动设置求解器的网络和其他参数?
How to manually set net and other parameters for a solver in caffe python programming?
与solver.prototxt的内容如下:
test_iter: 2
test_interval: 50
base_lr: 0.001
lr_policy: "step"
gamma: 0.1
stepsize: 100
display: 20
max_iter: 500
momentum: 0.9
weight_decay: 0.005
solver_mode: CPU
我在caffe中尝试了以下代码:
solver = caffe.SGDSolver('< some long path >/solver.prototxt')
solver.net = < some code created net >
solver.solve()
我收到以下错误:
...
[ ... solver.cpp:67] 检查失败:num_train_nets >= 1(0 对 1)SolverParameter 必须使用以下字段之一指定火车网络:net、net_param、train_net, 火车_net_param
* 检查失败堆栈跟踪:*
我想知道是否有可能通过 python 代码而不是仅加载 prototxt 文件来手动设置求解器的参数?
我不熟悉 pycaffe,但根据你的错误,我认为你只是在 solver.prototxt 中缺少一个火车网。添加这样一行:
train_net: "path/to/your/train.prototxt"
应该没问题。
我不知道你有什么版本的caffe,但在当前版本中,错误应该是(solver.cpp中的同一行,关闭内容):
CHECK_GE(num_train_nets, 1) << "SolverParameter must specify a train net "
<< "using one of these fields: " << field_names;
这使得错误更容易识别。
与solver.prototxt的内容如下:
test_iter: 2
test_interval: 50
base_lr: 0.001
lr_policy: "step"
gamma: 0.1
stepsize: 100
display: 20
max_iter: 500
momentum: 0.9
weight_decay: 0.005
solver_mode: CPU
我在caffe中尝试了以下代码:
solver = caffe.SGDSolver('< some long path >/solver.prototxt')
solver.net = < some code created net >
solver.solve()
我收到以下错误:
... [ ... solver.cpp:67] 检查失败:num_train_nets >= 1(0 对 1)SolverParameter 必须使用以下字段之一指定火车网络:net、net_param、train_net, 火车_net_param * 检查失败堆栈跟踪:*
我想知道是否有可能通过 python 代码而不是仅加载 prototxt 文件来手动设置求解器的参数?
我不熟悉 pycaffe,但根据你的错误,我认为你只是在 solver.prototxt 中缺少一个火车网。添加这样一行:
train_net: "path/to/your/train.prototxt"
应该没问题。
我不知道你有什么版本的caffe,但在当前版本中,错误应该是(solver.cpp中的同一行,关闭内容):
CHECK_GE(num_train_nets, 1) << "SolverParameter must specify a train net "
<< "using one of these fields: " << field_names;
这使得错误更容易识别。