我想在训练时修复某些层的参数,因此我在如下层中使用 propagate_down:0
:
layer {
name: "conv5_2"
type: "Eltwise"
bottom: "conv5_1"
bottom: "conv5_2_1x1_increase"
top: "conv5_2"
param{
propagate_down:0
}
eltwise_param {
operation: SUM
}
}
我想修复该层之前的参数,仅微调该层之后的参数。
但是我遇到了错误:
I0316 15:08:21.036813 20524 solver.cpp:81] Creating training net from train_net file: /home/muses/WSnet/C_coarse2fine/config/pspnet101_ele_8s_train.prototxt
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 6595:19: Interpreting non ascii codepoint 239.
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 6595:19: Message type "caffe.ParamSpec" has no field named "propagate_down".
F0316 15:08:21.039957 20524 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /home/muses/WSnet/C_coarse2fine/config/pspnet101_ele_8s_train.prototxt
请问这个问题如何解决?
最佳答案
参数 propagate_down
用于指示是否将梯度反向传播到层的输入。它不旨在指示是否更新参数。
要修复 caffe 中的参数,您需要设置 param { lr_mult: 0 }
对于该特定参数。
关于machine-learning - caffe|消息类型 "caffe.ParamSpec"没有名为 "propagate_down"的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49315640/