- Caffe 训练时loss等于87.33或者NAN
问题描述:训练过程中突然loss一直等于87.33
原因:计算过程出现float溢出等异常,出现了inf,nan等异常数值导致softmax输出为零。
解决方法:
1,降低学习率。这是最常用的解决方法,适当的学习率使得loss在合理范围内,过大的学习率会使得loss变得很大,最终超过浮点型表示的范围就变成了NAN。具体通过修改solver.protxt中的base_lr。如果有多个loss层,可观察log,找出哪一层导致了梯度爆炸,并在trian_val.protxt减小该层的loss_weight。
2,检查输入样本数据和label是否有错误。这也是常会犯的错误,输入中含有NAN。
参考链接1
参考链接2
网友评论