最近调研目标检测算法,主要看了两种类型的模型,一个是one-state的FairMOT,一个是two-state的yolov5+deepsort。但是在ubuntu跑FairMOT时,需要编译安装dcnv2,这里遇到了一个很大的坑,最后成功解决。我电脑安装的是cuda 10.2。可以直接跳到第4步,解决方案
GitHub - lbin/DCNv2: Deformable Convolutional Networks v2 with Pytorch
错误:
正常情况下进入文件夹下执行sh make.sh,即可安装成功
但是我编译是出现各种错误,查了一天的教程,都不好使,典型的错误如下:
1. RuntimeError: Error compiling objects for extension
2.按照网上的修改
编辑/.../lib/python3.7/site-packages/torch/utils/cpp_extension.py
‘ninja’, ‘-v’]改为[‘ninja’, ‘–version’]
然后报如下错误
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/vision.o: 没有那个文件或目录
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/cpu/dcn_v2_psroi_pooling_cpu.o: 没有那个文件或目录
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/cpu/dcn_v2_im2col_cpu.o: 没有那个文件或目录
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/cpu/dcn_v2_cpu.o: 没有那个文件或目录
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/cuda/dcn_v2_psroi_pooling_cuda.o: 没有那个文件或目录
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/cuda/dcn_v2_cuda.o: 没有那个文件或目录
g++: error: /home/hexiong/ubuntu_packages/DCNv2-master/build/temp.linux-x86_64-3.7/home/hexiong/ubuntu_packages/DCNv2-master/src/cuda/dcn_v2_im2col_cuda.o: 没有那个文件或目录
3 /usr/local/cuda-10.2/bin/nvcc: not found
环境变量问题
在~/.bashrc文件中最后添加:export PATH=/usr/local/cuda-10.2/bin 记得不是export PATH=$PATH:/usr/local/cuda/bin
添加完后source一下
还有很多错误,服气了
4.正确解决方案
其实前面的问题应该都不是问题,因为我的Pytorch环境是使用conda安装的:
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2 -c pytorch
卸载掉,使用pip安装:
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
再次进入dcnv2目录中,再次编译,成功
不容易啊,一天天的尽装环境了
多谢大佬:
CUDA10.1 + python3.7 + pytorch1.7 安装DCNv2_ClaireQi的博客-CSDN博客