在丢失时,我需要忽略多个标签。我可以忽略标签1和2:
layer {
name: "loss1"
type: "SoftmaxWithLoss"
bottom: "fc_19"
bottom: "label"
top: "loss1"
loss_param {
ignore_label: 1,2
}
}
但出现以下错误:
[libprotobuf ERROR google/protobuf/text_format.cc:245] Error parsing text-format caffe.NetParameter: 447:21: Expected identifier.
F0730 13:25:41.723671 17862 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /pbs/home/n/nhatami/sps/UniMiB-SHAR/resnet/residual-20_train.prototxt
任何想法如何忽略多个标签。谢谢!
答案 0 :(得分:0)
在caffe.proto
中定义ignore_label
的方式是
// If specified, ignore instances with the given label. optional int32 ignore_label = 1;
前缀optional
表示caffe proto仅支持单个忽略标签(否则将使用repeated
前缀)。
如果要更改此设置,则还必须更改损失层的代码,以忽略所有“忽略标签”。
顺便说一句,如果这个问题源于您的previous one,则您不需要具有多个“忽略标签”。