已解决RuntimeError: CUDA error: device-side assert triggered异常的正确解决方法,亲测有效!!!
已解决RuntimeError: CUDA error: device-side assert triggered异常的正确解决方法,亲测有效!!!
报错问题
粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息如下:
当我在调试模型的时候,出现了如下的问题
/opt/conda/conda-bld/pytorch_1656352465323/work/aten/src/ATen/native/cuda/IndexKernel.cu:91: operator(): block: [5,0,0], thread: [63,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && “index out of bounds”` failed.
通过提示信息可以知道是个数组越界的问题。但是如图一中第二行话所说这个问题可能并不出在提示的代码段。
一开始碰到这个问题就一个劲儿地查看提示的错误代码,发现调整了代码段之后,问题依然存在在并且提示的问题代码变化了。
解决方法
解决方法如下
首先明确一点,如图中描述的"RuntimeError: CUDA error: device-side assert triggered"该类问题,不应该仅从提示的代码进行检查。问题可能出在别的地方。
通过检查代码,以及查找出现类似问题的解中发现对于,“index >= -sizes[i] && index < sizes[i] && “index out of bounds””,这类数组越界的问题,如果大家的模型任务是用于分类任务,可以查看下自己模型在设置类别数量时,数值是否大于数据集中的给定的类别。
num_classes = 20 if args.dataset_file != 'coco' else 91
修改过后的的dataset_file名称为coco_vl,所以类别给了20,实际模型在最后预测阶段的类别应该为91,所以在criterion阶段(计算loss)时会报数值越界错误。
更改代码如下:
num_classes = 20 if args.dataset_file != 'coco' and args.dataset_file != 'coco_vl' else 91
福利
每周会送6本技术书籍包邮到家
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复
大家可以进社区裙或者添加博主微信
点击下方链接即可
http://t.csdn.cn/6kInJ
相关文章
- 时间序列-异常检测(Anomaly Detection)(二):传统方法
- 删除打印机异常的处理方法
- com.google.common.collect.Lists partition 方法 多线程迭代器 ConcurrentModificationException 修改异常
- TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!
- 数据驱动测试-从方法探研到最佳实践
- 已解决Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5异常的正确解决方法,亲测有效!!!
- 已解决AttributeError: ‘str‘ object has no attribute ‘decode‘解决方法异常的正确解决方法,亲测有效!!!
- 已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!!
- 已解决RuntimeError: CUDA error: device-side assert triggered异常的正确解决方法,亲测有效!!!
- 已解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)异常的正确解决方法,亲
- 已解决java.lang.ArrayIndexOutOfBoundsException异常的正确解决方法,亲测有效!!!
- 已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!!
- 已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!!
- 已解决java: 无法访问org.springframework.boot.SpringApplication异常的正确解决方法,亲测有效!!!
- 已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!!
- 已解决java.io.IOException: Broken pipe异常的正确解决方法,亲测有效!!!
- ubuntu GIMP 字体显示异常 解决方法
- mysql 8.0 Druid连接时调用getServerCharset报空指针异常解决方法