windows系统,挣扎了两天,终于把DCNv2搞定了。期间各种报错,补完一个出一个。
1、新建环境:务必新建pytorch环境
环境自己创建,python=3.7即可。这里主要是安装pytorch,必须是要pip安装,不然报各种错误
- 到pytorch官网找pytorch1.7安装命令,必须是pip安装。绝对不能用conda安装
找到历史版本,找到1.7.1版本,找到pip安装命令+后面指定下载地址 ,使用pip安装即可
2、下载DCNv2源码
- 1)github上最新版的DCNv2源码在"https://github.com/CharlesShang/DCNv2",但是该版本源码不支持PyTorch1.7,如果使其支持PyTorch1.7需要做以下修改:
将DCNv2/src/cuda/dcn_v2_cuda.cu中所有的THCState_getCurrentStream(state)替换成c10::cuda::getCurrentCUDAStream()。 - 2)github上有支持PyTorch1.7的源码
“https://github.com/lbin/DCNv2/tree/pytorch_1.7”,可以直接使用。
3、修改torch/utils/cpp_extension.py文件
该文件一般在你的python安装目录site-packages文件夹下
ps:进入anaconda安装目录搜索cpp_extension.py 即可,找到与咱们刚创建环境对应的目录下的cpp_extension.py文件
- 将源码command = [‘ninja’, ‘-v’]修改成command = [‘ninja’, ‘–version’],注意version前面是两条短横线。
- 将源码compiler_info.decode().strip()修改成compiler_info.decode(‘gbk’).strip()。
4、编译
- 在DCNv2目录下执行 ./make.sh即可。
./make.sh
这里需要编译的外程序
我这里是用 git 编译的,附上git安装教程
Git安装教程(Windows安装超详细教程)
运行 ./make.sh 后会生成一个build文件夹
- 运行 python setup.py build develop
python setup.py build develop
看到这个就说明安装成功了!
参考链接:
CUDA10.1 + python3.7 + pytorch1.7 安装DCNv2
日常填坑-DCNv2+pytorch1.7+vs2017编译