`Deformable-DETR`报错error in ms_deformable_im2col_cuda: no kernel image is available for execution on

`Deformable-DETR`报错error in ms_deformable_im2col_cuda: no kernel image is available for execution on the device

问题描述

在使用Deformable-DETR时需要先编译CUDA操作符,如下,但是在编译后,运行训练任务时,程序报error in ms_deformable_im2col_cuda: no kernel image is available for execution on the device,多方搜索后找到答案:make.sh · Issue #10 · fundamentalvision/Deformable-DETR (github.com)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

解决方案

  1. 记得先删掉之前编译的
    在这里插入图片描述

  2. cd /usr/local/,查看cuda的路径:

在这里插入图片描述

  1. cd回Deformable-DETR,编译前加一句export CUDA_HOME=/usr/local/cuda-11.1(根据自己的路径改),即可!
### 解决 `ms_deformable_col2im_cuda` CUDA 错误 当遇到 `no kernel image is available for execution on the device` 的错误时,通常意味着所使用的 CUDA 版本、PyTorch 安装以及 GPU 架构之间存在不兼容的情况。具体来说,在尝试运行涉及自定义 CUDA 扩展的操作(如 `ms_deformable_col2im_cuda`)时可能会触发此问题。 #### 不同组件之间的版本冲突可能导致该错误发生: - **CUDA 和 PyTorch 版本**:如果安装的 PyTorch 是针对特定版本的 CUDA 编译而成,则需要确保实际环境中也部署了相同或更高版本但向下兼容的 CUDA 驱动程序[^1]。 - **GPU 架构支持度不足**:某些较新的 GPU 可能具有更新的计算能力 (Compute Capability),而旧版 CUDA 或者预编译好的二进制文件可能无法提供对该架构的支持[^2]。 为了修复这个问题并成功执行 `ms_deformable_col2im_cuda` 函数,建议采取以下措施之一来调整环境配置: #### 方法一:升级至最新稳定版本组合 通过官方渠道获取最新的 PyTorch 发布包及其推荐搭配的 CUDA 工具链版本,并确认目标硬件是否被充分支持。这可以最大限度地减少因软件老化带来的潜在风险。 ```bash conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch ``` #### 方法二:重新构建适用于当前系统的扩展模块 对于依赖于本地编译的第三方库而言,有时直接使用发行版附带的预编译二进制文件并不能很好地适配所有用户的开发平台。此时可以选择克隆源码仓库自行编译这些额外的功能插件,从而确保它们能够正确识别主机上的 GPU 设备特性。 ```bash git clone https://github.com/fmassa/dcnv2.git cd dcnv2 python setup.py build develop ``` 以上两种方式都可以有效缓解由于不同层面上的技术栈差异所带来的困扰。当然,在实施任何更改之前,请务必做好数据备份工作以防万一;另外也可以考虑设置虚拟环境来进行隔离测试以降低影响范围。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤城封雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值