模型训练过程中loss出现nan的原因

1,数据

1) 数据方面分为几个部分:数据本身的问题,(标注不合理,或者代码错误导致的问题,例如,分类,检测 ,分割中数据不正常的现象,或者进行数据增强的时候有些问题,(例如之前做检测的时候的问题。)、

使用归一化 ,归一化,减去均值,,使用BN,L2 norm,之前遇到过)

2,模型

1) 模型太简单,根本就无法进行拟合数据,这个时候,先对小样本进行训练,使他能够进行过拟合数据 ,保证模型本身没有问题 ,

2) 或者损失函数设计不合理,

3) 参数初始化的问题,更改初始化方法,对于CNN,一般用xavier或者msra的初始化方法

3,训练

1) 设置学习率,调整步长

2) 减小batch_szie.

3) 加入gradient clip

参考 

https://www.zhihu.com/question/49346370

https://blog.csdn.net/qq_32458499/article/details/79468426

https://www.zhihu.com/question/424115619/answer/1512802303

上一篇:保障项目质量


下一篇:算法(第四版)之 --栈