已解决—Pytorch CUDA runtime 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.
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.

常见的错误原因及解决办法

1、输出层的分类数与模型本身输出的类别数不匹配:

比如在语义分割中,pascal voc 2012数据集有21个类别,但是我设置num_classes=3,就会出现此错误。这种情况下只需要正确调整num_classes值就可以,这种原因及解决办法是最简单也是最常见的。

2、数据集中标签的像素值超过类别数:

举个例子,在天普大学crack500数据集中,类别为裂缝及背景两个类别,但是我们在查看标签像素值时发现如下情况,该标签前景像素值为200+,已经远大于2,且背景像素值也有非0值(大于2),所以会出现此类报错。f70443a6ebee489984b21159635326b5.png此时,我们只需要将像素值调整为0和1就好,即大于某个像素阈值都调整为1,小于某个阈值都调整为0。这个时候我们再观察标签图片会发现图片为全黑,这是正常的,因为肉眼分辨不出来0和1像素的区别,但是模型可以正常训练。

总结

出现此问题需要仔细检查代码中设置的类别数以及该标签图片的像素值,确保符合要求。

以上是此问题报错原因的解决方法,希望能帮助到大家!

 

ce-side assert triggered是由于代码中出现了索引越界导致的错误。这个错误是CUDA报错,具体原因可能是代码中的某个索引超出了合法范围。然而,根据引用\[2\]所述,报错位置的代码并不一定是错误的根本位置,因此需要进一步分析。根据引用\[3\]的问题分析,可能是由于维度范围溢出导致的CUDA错误。为了解决这个问题,可以检查代码中的索引操作,确保索引值在合法范围内。此外,还可以尝试使用调试工具来定位错误的具体位置,并查看相关的报错信息以获取更多的线索。 #### 引用[.reference_title] - *1* *2* [RuntimeError: CUDA error: device-side assert triggered Pytorch框架代码运行错误解决方案(亲测有效!...](https://blog.youkuaiyun.com/weixin_42112050/article/details/120455407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [「Bug」问题分析 RuntimeError: CUDA error: device-side assert triggered](https://blog.youkuaiyun.com/ViatorSun/article/details/125207465)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值