经过两天的搏斗之后,这个问题并没有解决,这里记录一下:
问题描述:
我用的笔记本计算,显卡为980m,平时带耳机听歌偶尔会有电流噪声(声音拉长),怀疑主板某处虚焊,导致GPU供电不稳导致的这个问题。
深度学习模型在计算的时候权值出现NAN比较常见,常见的解决方法包括:
1、降低学习率
2、更换loss函数
3、更换激活函数
4、看看模型中有没有除零操作
5、输入数据有没有脏数据,比如带有nan的数据
6、更换框架,有TensorFlow换成pytorch
这些方法都试验过,但都无效。
后经实验发现,如果不使用GPU运算,而只是用CPU运算,虽然比较慢,但是可以保证不出错。
那么应该是GPU的问题,可能是CUDA和cuDnn不匹配吗?
于是更换cuDnn版本,重新尝试。
依旧报错。
所以可能是GPU本身硬件有损坏?
目前的解决方法是:
每计算一轮,都对权值进行保存,并对每一轮的数据进行nan的检查,如果是nan的权值,则权值进行回滚。凑付能用。