caffe中出现等于nan的情况:
1:学习率过大,导致出现nan,或者出现87.3356,调低一个数量级的lr
2:数据不正确,可能是数据的人脸框的坐标是从0开始的,需要修改坐标从1开始
3:train.proto中的网络结构不正确,就是网络中存在bug,需要使用netscope,查看网络,检查网络中是否有bug;
4:多余的层也可能引起nan,例如,网络的faster RCNN的fc层,去掉bn和scale层之后就收敛了,或者fc层过多可能也不行,当训练的时候!
5: 加入BN层后loss为87.3365的解决办法
BN层中有一个参数use_ global_stats,在训练时我们需要将其设置为false,这样BN层才能更新计算均值和方差,如果设置为true的话,就是初始固定的了,不会更新。在测试时,需要将其设置为true。将网络中该参数修改过来就训练正常了。