按照下面這個博客的教程訓練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文件再去測試,成功!生成正確的分割圖。
所以總結一句,網盤不可信!
