训练FCN时遇到的问题总结
按照下面这个博客的教程训练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次结束后,运行测试发现生成的分割图全黑,后来注意到博主还说了句:
网上查下,说这有两个原因:一个是loss值太大,第二个是deploy.prototxt文件有问题,
但是loss值其实从刚开始的几十万下降到几千也下降了不少,所以应该不是loss的问题,但是deploy.prototxt文件是从这个教程中给的网盘下载的啊,
我还天真的很信任他给的这个deploy.prototxt文件,最后我在网上搜半天实在找不出来原因了,我就想要不按照他说的制作deploy.prototxt的方法试试,
果然自己制作的deploy.prototxt文件再去测试,成功!生成正确的分割图。
所以总结一句,网盘不可信!