如何获得Caffe中多标签分类的每个类的概率

时间:2017-03-22 15:12:00

标签: deep-learning caffe

我在多标签数据集上训练网络。

我的培训文件如下所示:

img1 1 0 1 0 0 0 0 1 .... 1
...
...
imgN 0 1 0 1 0 1 0 0 .... 0

从阅读教程中我了解到我必须使用SigmoidCrossEntropyLoss层。

我的问题是,在训练之后,我需要使用哪个层来使用extract_feat.bin脚本提取每个标签的概率?

贝娄我写了我网络的最后一层。

谢谢!

layer {
  name: "fc8-1"
  type: "InnerProduct"
  bottom: "fc7"
  top: "fc8-1"
  inner_product_param {
    num_output: 12400
    weight_filler {
      type: "xavier"
     }
    bias_filler {
      type: "constant"
      value: 0.1
    }
  }
}
layer {
  name: "loss"
  type: "SigmoidCrossEntropyLoss"
  bottom: "fc8-1"
  bottom: "label"
  top: "loss"
}

1 个答案:

答案 0 :(得分:2)

使用"SigmoidCrossEntropy"损失图层进行培训时,您需要使用简单的"Sigmoid"图层替换损失图层以进行测试:

layer {
  type: "Sigmoid"
  bottom: "fc8-1"
  top: "class_prob"
  name: "class_prob"
}

您的测试时输出应为12,400维向量(每个输入)范围[0..1]中表示类概率的所有条目。