半精度训练时出现Nan
收藏
如题
首先,Loss随epoch迭代的变化图如下
根据网上的资料,我总结如下:
1)可能是数据原因。对于这种原因通常在第一个epoch就会出现Nan,而我的是训练100+epoch后出现的,所以应该不是数据原因(而且同样的代码和超参数,在2080ti上就能正常训练到300epoch完毕)
2)可能是网络设计问题。对于该问题一般会导致Loss越来越大,但是从上图可以看出Loss的变化是正常的缓慢下降,不应该是这种问题。
那么这个问题要如何去解决呢?
0
收藏
请登录后评论
建议捕获一下出现异常的地方再排查一下,一般是设计的问题更大一些
查了一下,发现是某个BN层中的mean和var中含有Nan和Inf,请问这种情况要怎么去调啊?
大佬牛呀
这个情况第一次见