先前都是在服务器上运行DETR的相关程序,服务器使用的是Linux,所以运行较为简单,但如果想要简单的debug的话就没必要使用服务器了,今天便来在Winodws环境下调试DETR类项目,这里以Deformable-DETR与DAB-DETR为例。
首先是DAB-DETR的配置,这个部分较为简单,需要注意的是DAB-DETR不需要配置CUDA算子,如果我们只想执行DAB-DETR程序的话我们将DAB-Deformable-DETR的引入模块删掉即可。
同时注释掉model/init下的这段代码
创建conda环境
conda create -n deformable_detr python=3.7
激活conda环境
activate deformable_detr
查看CUDA版本,因为我们在切换环境变量的CUDA顺序后在创建对应的conda环境后,这个CUDA便会跟随conda环境
nvcc --version
按照pytorch,根据CUDA版本选择pytorch,发现使用conda命令无法找到匹配的cuda与pytorch,所以我们可以使用pip按照方式,其可以在pytorch的同时按照一个小cuda。
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.6 -c pytorch -c conda-forge
当然也可以使用:
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
随后切换到项目根目录下按照requirement.txt中对应的包,发现pycocotools安装失败,可以直接安装windows版本的。
pip install pycocotools-windows -i https://pypi.tuna.tsinghua.edu.cn/simple
DAB-Deformable-DETR额外配置
DAB-DETR的作者在Deformable-DETR的基础上开发出了DAB-Deformable-DETR,要运行Deformable-DETR是需要额外配置CUDA算子的。下面为配置过程,我们在刚刚创建的环境基础上执行下面操作。
随后切换到model/ops文件夹下进行CUDA编译,报错
building ‘MultiScaleDeformableAttention’ extension error: Microsoft
Visual C++ 14.0 or greater is required. Get it with “Microsoft C++
Build Tools”:
https://visualstudio.microsoft.com/visual-cpp-build-tools/
网上的方法都是让安装Visual C++ 14.0,但这个博主感觉太过费时费力,我们只需要让conda环境内有相应的编译文件即可,没必要去下载安装庞大的Visual C++ 14.0。
conda install libpython m2w64-toolchain -c msys2
再次进行编译CUDA算子,发现依旧报错,没办法了,只能老老实实的去安装
Visual C++ 14.0了。
Visual C++ 14.0 下载地址
随后选择好安装位置与需要的版本即可。