caffe网络微调(fine-tuning)

       网络微调(fine-tuning)是指在他人已经训练好的模型的基础好,利用自己的数据(稍微改变网络结构)微调权值,以解决自己的问题!微调也可以看成时,原来的网络训练到一半,然后继续训练的过程!

【1】需要准备的文件,数据库与平均值文件,*_train_test.prototxt,*_slover.prototxt,*_N_caffemodel.prototxt对图片的处理,写了几个脚本,完成这个任务。


【2】*_slover.prototxt 文件中的学习率,应该减小,可以类比梯度下降算法中的搜索,训练好的网络已经在波谷最低点附近,我们只是微调,寻找自己数据最合适的波谷最低点,因此搜素步伐要小点,以免冲出波谷


【3】test数据不应太少,我的训练数据1800张,测试数据50张,出现了一个很奇怪的现象,train的loss0.01以下,test的accuary0.7以上,但是test的loss却在2左右,从loss来看应该是过拟合,但从测试精度来看,还可以。因此,猜测可能是应为test数据太少,导致了这个问题。解决方法,加大训练数据集和测试数据集,增加迭代次数。



你可能感兴趣的:(caffe网络微调(fine-tuning))