windows10上安装detectron2(0.2.1) + pytorch1.5.1 + CUDA10.1

0. 安装NVIDIA显卡驱动, 安装CUDA(因为底层需要用到c++编译deformable conv层)
    注意: 由于后面用conda安装pytorch会安装conda的cudatoolkit包, 需要确保cudatoolkit和这里安装的本地CUDA版本一致(比如下面装的是CUDA10.1, 这里也要装CUDA10.1)

1. 根据NVIDIA显卡驱动确定自己可以安装的CUDA版本以及pytorch版本

windows10上安装detectron2(0.2.1) + pytorch1.5.1 + CUDA10.1_第1张图片

    上图来自cuda-toolkit-release-notes
    比如我的驱动版本是432.00, 最高只能安装CUDA 10.1, 不能安装CUDA10.2.89及以上版本

2. 打开命令窗口安装pytorch(目前只测试过pytorch=1.5.1)(假设将这些安装到detectron2_custom环境下)

conda create -n detectron2_custom python=3.6
conda activate detectron2_custom
conda install pytorch=1.5 torchvision cudatoolkit=10.1 -c pytorch

    (用conda安装时, 有些版本pytorch只能在特定版本的cudatoolkit下安装)

3. 修改xxx\detectron2\detectron2\layers\csrc\cocoeval\cocoeval.cpp line 483

//localtime_r(&rawtime, &local_time); //报错, 未识别的标识符
localtime_s(&local_time, &rawtime);

4. 下载VS生成工具, 安装Visual Stutio生成工具2019

5. 在当前命令窗口激活VS生成工具(假设VS生成工具安装在默认路径)

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"

6. 切换到detectron2目录, 开始编译

cd xxx\detectron2
python setup.py build develop

    最后会提示pycocotools安装失败, 这是因为官方的pycocotools不支持win10, 先不用管

7. 安装其他需要的包

pip install opencv-python tqdm matplotlib fvcore cython cloudpickle mock tensorboard

    如果出现ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。错误, 用管理员权限打开一个命令窗口来安装

8. 测试安装成功

python
import detectron2

9. 测试demo, 到detectron2 MODEL ZOO下载Faster R-CNN X101-FPN模型权重, 假设放在目录xxx下

python demo/demo.py ^
--config-file configs/COCO-Detection/faster_rcnn_X_101_32x8d_FPN_3x.yaml ^
--input demo/coco_val2017_000000002153.jpg ^
--opts MODEL.WEIGHTS xxx/faster_rcnn_X_101_32x8d_FPN_3x.pkl

10. (可选)安装pycocotools
    如果你用里面的eval功能, 使用coco指标, 就需要安装这个.
    教程参考这里

最后:

这里提供一下我平时使用的detectron2==0.2.1代码仓库, 上面第三步对应的代码已修改.
这个仓库是我自己用的, 在官方的基础上, 加入了自定义的项目代码(位于detectron2/projects/My, 目前添加了FCOS), 不定期维护更新.
除了这里以及自己在detectron2/projects/My/里面添加的东西, 其他地方代码没有动过, 有兴趣的可以点个star, 感谢.

你可能感兴趣的:(pytorch,目标检测,人工智能,pytorch,目标检测,detectron2,深度学习)