Skip to content

DINO issue198

ModuleNotFoundError: No module named 'MultiScaleDeformableAttention'

https://github.com/IDEA-Research/DINO/issues/198#issuecomment-1764475480

这个问题应该是编译 MultiScaleDeformableAttention 出现的问题,也就是在 编译CUDA 算子的时候没成功 image

下面是我的解决办法

1. 首先保证你的机器上已经配置好驱动和安装好CUDA Toolkit

可用下面的方式检查

nvidia-smi
nvcc -V=

然后检查是否配置好CUDA_HOME ,这一步往往需要你手动设定

$CUDA_HOME
设置办法是检查你安装的 CUDA_Tookit路径 如: /usr/local/cuda-11.6

然后编辑用户系统变量文件

nano .bashrc
在文件末尾追加 CUDA_HOME
如:export CUDA_HOME="/usr/local/cuda-11.6"
image

2. 然后安装与CUDA 相匹配的torch版本

如果首页没有就查看torch的历史版本,因为GPU 版本torch 与 Cuda 版本不匹配,编译的时候也可能会出问题

image

3. 最后重新编译CUDA 算子

cd models/dino/ops
python setup.py build install
# unit test (should see all checking is True)
python test.py
cd ../../..