pytorch报错:RuntimeError: CUDA error: device-side assert triggered究极解决方案

原因

模型的数据处理出了问题,一般是类似于数组访问越界的问题
1.例如分类的标签是数据处理的时候是1-10,但是torch在计算交叉熵是默认是0-9
2.embedding模块的词表长度问题,比如embedding中词表总长度是100,但是具体数据的token_id超过100,也会报错。
3.其他越界问题

错误定位

torch在使用cuda计算是报错的位置的代码不一定是错的,所以这点一定要注意(推测cuda并行计算,不能清楚的定位到具体错误位置)
这时候要注意一点,把所有数据,模型不要放在cuda上计算,将数据和模型全部切换至CPU重新跑,这个时候报错才会真正的看到自己数据的错误。

cuda报错信息看不出什么错那就把据切换到cpu看看究竟是什么问题

猜你喜欢

转载自blog.csdn.net/qq_21768483/article/details/111509495
今日推荐