最近需要编译一下DCN这个网络,使用conda
管理依赖库是真的方便,需要的东西往里放,只要版本之间不冲突,对编译代码十分友好。
配置
1 | GPU:RTX 3080 |
运行环境
根据需要的依赖库下载对应的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
:
DCNv2-latest
这里我用的是一个比较新的版本:
https://github.com/jinfagang/DCNv2_latest
编译
这里需要指定cuda
对应版本安装的位置:
1 | set CUDA_HOME=/usr/local/cuda-11.1 |
一键编译:
1 | python setup.py build develop |
编译成功:
编译后生成的文件:
build完之后,目前只是在当前文件夹下有.so文件,现在我们需要把他装载到我们的环境里面,这里直接运行
1 | python setup.py install |
在当前的conda
环境里进行第三方库的安装:
可以看到编译好的DCNv2
被安装在了 conda
环境下的包管理目录下,激活环境:
至此,DCNv2
的编译和安装就已经完成了。