caffe CNN:忽略损失层中的多个标签

时间:2018-07-30 11:31:26

标签: machine-learning neural-network deep-learning conv-neural-network caffe

在丢失时,我需要忽略多个标签。我可以忽略标签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

任何想法如何忽略多个标签。谢谢!

1 个答案:

答案 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,则您不需要具有多个“忽略标签”。