您的位置:首页 > 其它

训练FCN时遇到的问题总结

2017-12-21 14:13 204 查看
按照下面这个博客的教程训练FCN

http://blog.csdn.net/wangkun1340378/article/details/70238290

刚开始了出现‘SIFFlowSegDataLayer’object has no attribute'param_str'的错误:



原因是由于我用的caffe是官神mnt文件夹中的caffe,改成用主目录中的caffe就好了

或者还有可能因为py脚本每次运行时均会生成.pyc文件;在已经生成.pyc文件的情况下,若代码不更新,运行时依旧会走pyc,参考下面博客:
http://blog.csdn.net/yitianbian2012/article/details/51543415
caffe导入训练数据的data层的相关介绍:
http://www.cnblogs.com/idiotgroup/p/5676344.html
 

之后再运行的时候又碰到了读取模型的error:

F0417 07:39:42.430991  1149 upgrade_proto.cpp:95] Check failed: ReadProtoFromBinaryFile(param_file, param) Failed to parse NetParameter file: /root/caffe/models/vgg16-fcn.caffemodel

意思是说vgg16-fcn这个caffemodel读取出现了问题,其实这个vgg-16的模型是在教程中的网盘中下载的,可能这个模型不完整,然后我在对应的README.md文件中给官网中上把vgg16的caffemodel重新下了一遍,然后问题解决,看来网盘还是不怎么靠谱啊。。。

参考了下面这个博客:
http://blog.csdn.net/yewei11/article/details/70212344
 

实际训练迭代次数和solve.py中的

for _ in range(50)

     solver.step(2000)

有关,不是sover.prototxt文件中的最大迭代次数

 

训练100000次结束后,运行测试发现生成的分割图全黑,后来注意到博主还说了句:

在infer.py中将
out = net.blobs['score'].data[0].argmax(axis=0)
改成
out = net.blobs['score_sem'].data[0].argmax(axis=0)
但是改完了测试生成的图片还是全黑
网上查下,说这有两个原因:一个是loss值太大,第二个是deploy.prototxt文件有问题,

但是loss值其实从刚开始的几十万下降到几千也下降了不少,所以应该不是loss的问题,但是deploy.prototxt文件是从这个教程中给的网盘下载的啊,

我还天真的很信任他给的这个deploy.prototxt文件,最后我在网上搜半天实在找不出来原因了,我就想要不按照他说的制作deploy.prototxt的方法试试,

果然自己制作的deploy.prototxt文件再去测试,成功!生成正确的分割图。

所以总结一句,网盘不可信!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: