解决:loss中用到了log,-log(0)=inf,在log(*)括号中添加一个bias,取值为1e-5。【其他值也可以】
模型训练过程中的几种情况:
- train loss 不断下降,test loss不断下降,说明网络仍在学习;
- train loss 不断下降,test loss趋于不变,说明网络过拟合;
- train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
- train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;
- train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题。
模型不收敛的原因:
1、数据和标签:
数据分类标注是否准确?数据是否干净?数据的输入是否正常,data和label是否一致?
2、学习率设定不合理:
逐渐尝试,从0.1,0.08,0.06,0.05 ......逐渐减小直到正常为止
3、网络设定不合理
4、数据集label的设置:
检查lable是否有错,有的时候图像类别的label设置成1,2,3,正确设置应该为0,1,2
5、数据归一化