加载yolov5 模型到cuda0和加载resnet50模型到cuda1出错处理

  先说下我工程:我需要使用yolov5的模型给出一张图中的检测结果,然后把这些检测结果再次送到resnet50的分类器中进行分类,刚开始我把两个模型都加载到了cuda0,一切完美运行.为了加速,我把yolov5的模型加载到了cuda0上(说明下我有4块gpu),resnet50的分类器模型加载到了cuda1上.想法是美好的,但执行上述流程时出现了意想不到的错误:

RuntimeError: CUDA error: invalid device ordinal
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.

不明所以,于是在网上一通搜索,找到好多相同错误的博客,大多是说训练是类别数不匹配当前的训练数目,如RuntimeError: CUDA error: device-side assert triggered 问题的解决思路_Penta_Kill_5的博客-CSDN博客或者是https://blog.csdn.net/weixin_35848967/article/details/120200055RuntimeError: CUDA error: device-side assert triggered 问题的解决思路_Penta_Kill_5的博客-CSDN博客,可是我只是执行了下把他们加载到不同cuda上啊就出错了,百思不得其解,一顿迷糊后,我决定把加载的顺序调整下,原来的顺序是首先加载yolov5模型到cuda0,然后加载resnet50的分类器模型到cuda1,现在我先resnet50到cuda1,后yolov5到cuda0,程序居然可以了,结果也正确

        这样的结局固然是好的,但也十分迷糊,不知道具体啥原因造成的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值