刚接触caffe一个多月,感觉迷迷糊糊,最近才稍微明白了点caffe中调参的一些套路,直接上干货吧。
1,一般训练集不大时,最终训练的网络及容易过拟合,也就是说train-loss一定会收敛,但是test-loss不会收敛;
2,训练集不大时,尽量选取简单的网络开始训练,我用8000张图片作为训练集时,网络被简化到只有一个con,一个pooling,一个全连接;
3,根据train-loss和test-loss曲线判断网络是否训练好,最终一个比较理想的模型,其train-loss和test-loss曲线应该几乎重合,或者非常靠近;
3,根据训练好的model去测试训练集和测试集,如果train-error远小于test-error,那么该模型一定过拟合,如果test-error和train-error都很大,那么就是欠拟合了;
4,上条3中一般应该不会出现test-error远小于train-error的情况,一个比较理想的模型应该是test-error和train-error比较接近;
5,对于过拟合和欠拟合,一般改变网络结构效果会比较明显;
附带一张自己训练的网络曲线图作参考吧,红线是test-error,蓝线是train-error:
caffe我也是刚入门,还需要积累经验,只是把自己刚学习的一些浅薄认识记录出来,以供参考,如有错误,欢迎指正!