【问题标题】:How do I interpret pycaffe classify.py output?如何解释 pycaffe 的分类.py 输出?
【发布时间】:2016-09-19 15:53:44
【问题描述】:

我通过 Nvidia DIGITS 创建了一个 GoogleNet 模型,该模型具有两个类别(称为正面和负面)。

如果我使用 DIGITS 对图像进行分类,它会显示一个不错的结果,例如正面:85.56% 和负面:14.44%。

如果它使用相同的图像将该模型传递给 pycaffe 的 classify.py,我会得到类似 array([[ 0.38978559, -0.06033826]], dtype=float32) 的结果

那么,我如何阅读/解释这个结果?如何根据classify.py 显示的结果计算 DIGITS 显示的置信水平(不确定这是否是正确的术语)?

【问题讨论】:

  • 您提供给classify.pydeploy.prototxt 似乎缺少最后一个"Softmax" 层。
  • 最后一层入口是layer { name: "prob" type: "Softmax" bottom: "loss3/classifier" top: "prob" }
  • 有点奇怪。通常"Softmax" 层应该输出在[0..1] 范围内的值,总和为一......你能看看日志,看看你实际得到的是什么输出层吗?
  • 这里是log output 和完整的deploy.prototxt

标签: neural-network caffe pycaffe nvidia-digits


【解决方案1】:

This issue 引导我找到解决方案。

如日志所示,网络产生three outputsClassifier#classify 只返回 first output。所以例如通过将predictions = out[self.outputs[0]] 更改为predictions = out[self.outputs[2]],我得到了所需的值。

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 2023-03-22
    • 2013-04-09
    • 1970-01-01
    • 2014-08-09
    • 2021-06-01
    • 2014-02-03
    • 2018-09-16
    相关资源
    最近更新 更多