当前位置 主页 > 网站技术 > 代码类 >

    Pytorch训练过程出现nan的解决方式

    栏目:代码类 时间:2020-01-02 21:06

    今天使用shuffleNetV2+,使用自己的数据集,遇到了loss是nan的情况,而且top1精确率出现断崖式上升,这显示是不正常的。

    在网上查了下解决方案。我的问题是出在学习率上了。

    我自己做的样本数据集比较小,就三类,每类大概三百多张,初始学习率是0.5。后来设置为0.1就解决了。

    按照解决方案上写的。出现nan的情况还有以下几种:

    学习率太大,但是样本数据集又很小。(我的情况)

    自定义的loss除以了一个很小的数字,小到接近0。

    数据不干净,数据本身就有nan,可以用numpy.isnan检查。

    target,即label是大于等于0的。从1到类别数目-1变化。

    以上这篇Pytorch训练过程出现nan的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。