拿来同事的网络直接用,带bn层,人家是forward网络,参数直接use_global_stats: true,我拿过来改也没改直接训,loss曲线长这样,基本降到1.4不动:
更难看的在那个拐点处后面还微微上扬,模型能用,但是没有预期效果。
修改use_global_stats: false后如下,模型效果完美:
今天有时间看代码,caffe里的实现:
所以prototxt里直接写入的参数是个更强的配置,不管是否include{phase:TRAIN},只要设置了batch_norm_param 就会覆盖第14行给的配置。
batch_norm_param { use_global_stats: true eps: 0.001 }
细节导致的大问题,不管工期多紧张,自己的步调不能乱,任何方法用之前要弄清楚,用过以后要总结。