当前位置:   article > 正文

Bug小能手系列(python)_13: RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might

runtimeerror: cuda error: device-side assert triggered cuda kernel errors mi

0 引言

在运行 Python 代码时出现报错:

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 报错原因

当代码中存在数组越界或者标签不一致的时候就会出现该错误。这里说的标签不一致的意思是:模型输入的标签应该是0-3,但是你实际输入的标签是1-4
当出现该错误时,有时提示的代码错误的位置和实际位置是不一致的。

2 解决思路

当出现该报错时,首先在代码加载库包部分加入下面两行代码(首先找到代码实际报错位置):

import os
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
  • 1
  • 2

加入该代码后,再次运行代码,此时报错位置为实际报错位置

然后,再分析代码报错原因
在这里插入图片描述
这里给出了我代码的实际报错位置:
在这里插入图片描述
然后,分析是否是数据维度不匹配或者标签错误
最后,分析出是标签错误,并成功运行代码!!!

最后,也有一些是别的原因导致的错误。
例如:在加载数据时,num_workers 需要设置为0

DataLoader(dataset = dataset,batch_size = batch_size,num_workers = 0,shuffle = True)
  • 1

3. 总结

总的而言,感觉出现该错误主要是因为标签或者数组越界的问题。如果大家有什么解决方案的话可以评论留言,这边会根据最新的内容进行更新!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/89202
推荐阅读
相关标签