FCN-for-semantic-image-segmentation 训练过程的一些坑记录
Posted 吕吕吕吕吕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FCN-for-semantic-image-segmentation 训练过程的一些坑记录相关的知识,希望对你有一定的参考价值。
(1)首先,出现layer registry error,提示convolutional layer已经注册过了。网上大多的问题是提示unknown layer,并非already registed,大概有两种针对前一种的解决方法:1.链接的caffe静态库和动态库的区别,应该链接动态库?2.caffe的注册机制的问题,添加头文件,外部强制注册?感觉不太像是我这个问题的答案。查了谷歌,好像是我装了两个版本的caffe导致caffe的路径并未完全设置成其中某个版本的。于是修改.bashrc中所有和caffe有关的路径,修改完后并没有用。但是第二天重新开始训的时候,神奇的可以了。。。。神奇的可以了。。。
(2)第二,训练了几万循环,发现loss一直没有变化。查了查,据说是反卷积层没有初始化weight,查看了代码,代码中有python接口的训练和command line接口的训练,其中我用的一直是command line接口的(就是--solver=。。。。sh train.sh)这个接口没有初始化weight。于是在net.py中deconvolutional layer加入了weight filler 和 bias filler参数(net.py是网络结构的生成文件,修改了以后要执行一下python net.py)。而另一个python接口的代码,已经初始化了合适的weight,用的是VGG16训出来的caffemodel,然而没有成功运行python 接口。于是先自己把command line接口里的weight,初始化了一个高斯随机生成,先跑跑看。
(3)果不其然,loss逐渐减小,但是随着训练次数的增加,其收敛性不是很好,几乎一直处在震荡状态,从3.x左右降到1.x,之后便震荡起来。考虑到没有按照作者的要求初始化合适的weight,也许原因在此,因此还是要继续试试python接口。
以上是关于FCN-for-semantic-image-segmentation 训练过程的一些坑记录的主要内容,如果未能解决你的问题,请参考以下文章