【debug】mmseg工程训练报错:CUDA kernel errors might be asynchronously reported at some other API call ...

编程入门 行业动态 更新时间:2024-10-26 17:20:19

【debug】mmseg工程训练<a href=https://www.elefans.com/category/jswz/34/1771188.html style=报错:CUDA kernel errors might be asynchronously reported at some other API call ..."/>

【debug】mmseg工程训练报错:CUDA kernel errors might be asynchronously reported at some other API call ...

🚀Debug专栏

        其他debug记录请参考上方【debug专栏】


目录

🚀Debug专栏

🍀🍀背景

🔔🔔详细报错

🍭🍭原因分析

🌻🌻解决步骤

1.报错详细信息定位

2.可能报错1:num_class设置不对

3.可能报错2:模型输出尺寸不对

🌷🌷总结

整理不易,欢迎一键三连!!!

送你们一条美丽的--分割线--


🍀🍀背景

        训练mmesg工程,报错CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.

🔔🔔详细报错

CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.

🍭🍭原因分析

        报错说是CUDA 内核错误,翻译过来是:可能会在其他一些 API 调用中异步报告,因此下面的堆栈跟踪可能不正确。

🌻🌻解决步骤

        那既然是报错说CUDA在其他地方有被占用的情况,那就先关闭其他程序中的cuda占用,再执行。

1.报错详细信息定位

        首先这种模糊的报错信息难以定位到是什么具体的报错代码位置,所以我们要打印更详细的报错说明,找到报错的代码位置。给代码开始位置添加一下两行:

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

        这时候报错会定位到实际位置,大家对症下药解决即可。

2.可能报错1:num_class设置不对

        检查自己的数据集label对应的值是否有超过num_class的值,比如num_class=3的数据集,label应该为[0,1,2],不应该出现除这三个值以外的值。 

3.可能报错2:模型输出尺寸不对

        通常模型的输入尺寸为3是不会变的,但是输出尺寸的channel应该为num_class的大小,因此,此处是最容易忘记改的,本人就是。。。

        记得将模型的out_channel改为num_class!!!

🌷🌷总结

        一般python代码的报错还是比较人性化,翻译过来就能知道大概的报错原因,如果报错原因比较模糊,难以定位的话,可以尝试通过在主函数第一行增加代码os.environ['CUDA_LAUNCH_BLOCKING'] = '1'来打印详细的报错信息,然后再根据详细报错进行定位代码修改。

        这次的经验告诉我们CUDA kernel errors的报错大概率是因为out_channel和num_class不对应

整理不易,欢迎一键三连!!!

送你们一条美丽的--分割线--


🌷🌷🍀🍀🌾🌾🍓🍓🍂🍂🙋🙋🐸🐸🙋🙋💖💖🍌🍌🔔🔔🍉🍉🍭🍭🍋🍋🍇🍇🏆🏆📸📸⛵⛵⭐⭐🍎🍎👍👍🌷🌷

更多推荐

【debug】mmseg工程训练报错:CUDA kernel errors might be asynchronously reported at some o

本文发布于:2024-03-23 22:08:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1743412.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:报错   工程   CUDA   mmseg   debug

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!