记录bug RuntimeError: CUDA error: device-side assert triggered 问题

问题如下

RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

错误内容

原因1

在我的这个问题里面,是由于某些标签超了范围导致的,举个例子:如果你一共设置了8个类,但是训练数据中的标签里出现了9,就会报这个错误。

解决1

这时候需要改标签,或者把输出的类别的数量提升到数据集标签含有的最大范围,比如说,经过查看,数据集中最大的标签的id是90,那我就把代码改成输出90类就可以了,这样造成的后果就是有几类是没有的,也没有很大的关系,没有就没有吧。

原因2

代码输出的类别数量有问题,一共是5分类的,你的代码最后一层输出是4分类的,也会有这样的错误,本质上和上面的问题一样,还是相当于标签超了范围。

解决2

更改最后一层代码的输出结构

猜你喜欢

转载自blog.csdn.net/baobao135/article/details/130162591