使用命令行和python包装器训练caffe网络有什么区别?

时间:2017-03-14 16:21:22

标签: python deep-learning caffe

我在我的caffe网络中使用自定义骰子丢失层进行二值图像分割。当我使用caffe命令行训练它时,一切正常:

$ caffe train -solver solver.prototxt

确实收敛了。但是当我尝试使用python包装器训练相同的网络时:

solver = caffe.get_solver('solver.prototxt')
solver.solve()

我收到了一个错误:

  

文件“dice_loss_layer.py”,第42行,正向

     

ValueError:无法从形状广播输入数组(32,160,128)   成形(32,1,160,128)

实际上骰子损失中的第42行是一条空行,而它上面和下面的行是注释行。如果我用常规softmax图层替换骰子丢失层,则错误消失。但由于骰子在命令行中运行良好,我在丢失层本身找不到任何错误。

我注意到骰子丢失层和softmax层之间的唯一区别是输入到骰子的输出数量是1,而softmax是2.我真的不知道在哪里解决问题。谁能给我一些指示?

0 个答案:

没有答案