windows10 +pycharm+detectron2配置
引言
detectron2 官方只提供了 Linux系统的版本. 但是广大网友用踩坑的血来证明在windows下也是可行的.
这边简单记录一下自己配置的过程.
-
主要参考(行内规矩)
Windows10下安装detectron2超详细教程(小白视角)
conansherry官方分支 -
下载相关
detectron2指南
本机环境
- python 3.6
- cuda 11.3
- pytorch 1.82
- VS 2019
- 显卡 rtx 3050
配置
1. 依赖
2. 修改torch 文件.
- 文件 1 argument_spec.h
{your evn path}\Lib\site-packages\torch\include\torch\csrc\jit\argument_spec.h
原代码 (我这边找到的是在160行不是github说的190行,该工程也更改过了,变量名字也有变化)
static constexpr size_t DEPTH_LIMIT = 128;
修改为
static constexpr size_t DEPTH_LIMIT = 128;
- 将detectron2\detectron2\layers\csrc\deformable 文件夹下deform_conv.h 和deform_conv_cuda.cu两个文件全部的 AT_CHECK 全部替换为 TORCH_CHECK ( 参考博客说的是三个,但是最后一个现有版本里面好像没有这个AT_CHECK东西了)
3. 编译
在 解压缩后的detectron 2-master文件夹中按住shift+右键,在此处打开powershell命令终端 (有setup.py这个文件的地方,我的文件多是因为已经编译过了).
输入以下代码:
python setup.py build develop
如果存在多个python版本, 需要指定具体的版本. 例如在我这边,这个代码变成
python36 setup.py build develop
- 编译结束
可能存在和我一样的错误,出现下载超时. 这是因为国内网的原因. 看文章后面的处理.
编译超时错误处理
- 如果出现以下类似的 timeout 错误,基本上都是因为国内网不友好引起的.
- 解决方法
直接复制提示的网站到浏览器中,把相应的包直接下载到detectron2-master 这个目录下.
然后同样shift+右键,在此处打开 powershell, 输入以下代码( imagesize-1.3.0-py2.py3-none-any.whl 可换成其它类似的包.我这边)
pip install imagesize-1.3.0-py2.py3-none-any.whl
存在多个python版本的话,一定要注意pip指向的是哪个版本.
安装结果,红色部分不用管. 确认这个包安装好了就可以. 然后重新编译一次darectron2.