cuda error:device-side assert triggered 报错原因之一
查找问题方法
很多博客都推荐将模型转换到cpu运行,然后找到错误原因。
本文也是基于此方法找到的错误原因。
我所遇到的错误
模型经过BN层后,特征中的数值均变为Nan,继续执行会报 cuda error:device-side assert triggered的错误。
删掉BN层后虽训练过程不再报错,但最终的预测结果为0。
由于cpu不支持混合精度训练(fp16/fp32),将精度修改为fp32后,模型正常训练。
之后,在gpu训练时将混合精度训练修改为fp32后模型正常。