当我尝试求解我的神经网络时收到此错误消息:
Check failed: label_value < prob_.shape(softmax_axis_) (1 vs. 1)
我的标签都是 0 或 1。当我尝试这个 example 时它适用于 0 和 1 标签。所以我的假设是错误在第二部分:
prob_.shape(softmax_axis_)
我在源代码中查找它,但我不明白我的源代码或 prototxt 文件如何影响这个值。
有人可以解释发生了什么以及我如何让我的 softmax 层接受值为 1 的标签吗?
最佳答案
当使用 "SoftmaxWithLoss"
层预测二进制标签时,您的“类概率” vector 的长度应为 2(而不是 1)。
你得到一个错误说你的“类别概率” vector (又名“prob_
”)是维度 1 而它应该至少是 2(即严格大于最大的标签)。
检查生成类概率的层中的num_output
参数。
或者,对于二进制分类,考虑使用 "SigmoidCrossEntropyLoss"
关于c++ - Caffe SoftmaxWithLoss 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46443603/