Phil-Mao

自由在于选择看待事物的态度

0%

Linux下编译DCNv2

最近需要编译一下DCN这个网络,使用conda 管理依赖库是真的方便,需要的东西往里放,只要版本之间不冲突,对编译代码十分友好。

配置

1
2
3
4
GPU:RTX 3080
系统: Linux Mint 20.1 Cinnamon 4.8.6
Cuda: 11.1
Pytorch: 1.8.1

运行环境

根据需要的依赖库下载对应的conda环境,这里提供我自己使用的conda 环境下载地址,其实有很多依赖库是用不着的:
https://github.com/Phil-Mao/AnacondaRecipies/tree/master/_environments
Clone之后,创建一个conda环境:

1
conda env create -n mvs -f _environments/mvs.fixed.yml

激活mvs环境,conda activate mvs:
激活mvs

DCNv2-latest

这里我用的是一个比较新的版本:
https://github.com/jinfagang/DCNv2_latest

编译

这里需要指定cuda对应版本安装的位置:

1
set CUDA_HOME=/usr/local/cuda-11.1

一键编译:

1
python setup.py build develop

compile
编译成功:
end
编译后生成的文件:
编译完成
build完之后,目前只是在当前文件夹下有.so文件,现在我们需要把他装载到我们的环境里面,这里直接运行

1
python setup.py install

在当前的conda环境里进行第三方库的安装:
安装到虚拟环境中
可以看到编译好的DCNv2被安装在了 conda 环境下的包管理目录下,激活环境:
成功安装
至此,DCNv2的编译和安装就已经完成了。