Ubuntu编译dcnv2(FairMOT)遇到的坑,巨坑

最近调研目标检测算法,主要看了两种类型的模型,一个是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

Ubuntu编译dcnv2(FairMOT)遇到的坑,巨坑_第1张图片

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: 没有那个文件或目录

Ubuntu编译dcnv2(FairMOT)遇到的坑,巨坑_第2张图片

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目录中,再次编译,成功

Ubuntu编译dcnv2(FairMOT)遇到的坑,巨坑_第3张图片Ubuntu编译dcnv2(FairMOT)遇到的坑,巨坑_第4张图片

 不容易啊,一天天的尽装环境了

多谢大佬:

CUDA10.1 + python3.7 + pytorch1.7 安装DCNv2_ClaireQi的博客-CSDN博客

你可能感兴趣的:(目标检测,ubuntu,pytorch,目标跟踪)