Win10下安装Detectron2,超详细教程!

Win10下安装Detectron2超详细教程

  • 目录
  • 1. 环境版本
  • 2. 安装CUDA
  • 3.安装Pytorch
  • 4. 安装其他库:cocoapi、fvcore等
  • 5. 安装Detectron2
  • 6. 部分报错解决方法
  • 7. 其他
  • 参考
  • 目录

    1. 环境版本

    VS2019
    CUDA10.2+cudnn7.6.5
    Pytorch1.7.1
    Detectron2-0.5

    2. 安装CUDA

    Windows下边安装CUDA还是比较简单的,步骤:
    安装VS2019→安装CUDA和cudnn→安装anaconda
    (1) 安装VS2019
    编译Detectron2,最好还是用VS2019,VS2019社区版就够用了,下载:https://visualstudio.microsoft.com/zh-hans/vs/,然后安装的时候我选择了两个安装内容,大概空间需要8.5GB。
    这是我已经安装后的截图
    (2) 安装CUDA
    Detectron2-0.5的话是需要CUDA10.2以上的版本了,然后我选择了CUDA10.2+cudnn7.6.5,具体下载地址:CUDAcudnn,cudnn下载需要注册\登录账户。
    然后如果电脑里边已经有低版本的CUDA,也可以不用卸载,让多个版本并存,具体参考“windows下同一个显卡配置多个CUDA工具包以及它们之间的切换
    (3) 安装Anaconda
    也比较简单,这里提供镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

    3.安装Pytorch

    安装Pytorch还是比较简单的,具体步骤:
    (1)在cmd窗口中创建新的虚拟环境,然后进入虚拟环境

    conda create -n torch(环境名) python==3.8.3
    activate torch
    

    (2)添加镜像源,这样安装快一些

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    

    (3)安装Pythorch

    conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2
    

    完成以后可以测试一下,在窗口里依次输入

    python
    import torch
    print(torch.cuda.is_available())
    

    若返回True,就安装成功了,像这样:

    4. 安装其他库:cocoapi、fvcore等

    (1) 安装cocoapi
    点击https://github.com/philferriere/cocoapi下载,然后执行以下指令,另外还需要先安装Cython

    pip install Cython -i https://pypi.tuna.tsinghua.edu.cn/simple
    cd coco/PythonAPI
    python setup.py build_ext --inplace
    python setup.py build_ext install
    

    (2) 安装fvcore
    点击https://github.com/facebookresearch/fvcore下载,切换到setup.py所在目录,然后执行指令

    python setup.py build --force develop
    

    (3) 安装ninja

    conda install ninja
    

    5. 安装Detectron2

    (1) 下载Detectron2,链接:https://github.com/facebookresearch/detectron2
    (2) 修改文件内容
    Anaconda安装路径\envs\torch\Lib\site-packages\torch\utils\cpp_extension.py,第283行,注释的是原语句,后一行是改后的

    # match = re.search(r'(\d+)\.(\d+)\.(\d+)', compiler_info.decode().strip()
    match = re.search(r'(\d+)\.(\d+)\.(\d+)', compiler_info.decode(' gbk').strip()
    

    Anaconda安装位置\envs\detectron2\Lib\site-packages\torch\include\torch\csrc\jit\runtime\argument_spec.h ,第160行

    // static constexpr size_t ARG_SPEC_DEPTH_LIMIT = 128;
    static const size_t ARG_SPEC_DEPTH_LIMIT = 128;
    

    Detectron2文件夹下\detectron2\layers\csrc\ROIAlignRotated\ROIAlignRotated_cuda.cu,将所有的ceil改为ceilf
    Detectron2文件夹下\detectron2\detectron2\layers\csrc\deformable\deform_conv_cuda_kernel.cu,将所有的floor改为floorf。
    D:\software\Anaconda3\envs\torch\Lib\site-packages\torch\include\torch\csrc\jit\ir\ir.h,将1347行注释掉

    // static constexpr Symbol Kind = ::c10::prim::profile_optional
    

    Detectron2文件夹下\detectron2\layers\csrc\cocoeval\cocoeval.cpp,修改第487行

    // localtime_r(&rawtime, &local_time); 
    localtime_s(&local_time,&rawtime);
    

    (3) 编译,在Detectron2文件夹下,执行以下代码

    python setup.py build develop
    

    这样就编译成功啦

    编译完成后,执行demo.py文件,可以检验环境是否安装成功,可能会出现某些模块缺失报错,安装就行了。

    6. 部分报错解决方法

    (1) 如果出现command ‘…\bin\HostX86\x64\cl.exe’ failed with exit status 2’的问题,用如下指令:

    call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"   (对应自己文件的路径)
    set DISTUTILS_USE_SDK=1
    

    (2) 如果报错error: Could not find suitable distribution for Requirement.parse('......')之类的,是因为网络原因,检查下网络,再试试。
    (3) 如果出现ModuleNotFoundError:No module name 'win32con',可以重新安装下 ‘win32con’,然后可能还会有其他错误,所以可以执行以下指令:

    pip install pywin32 -i https://pypi.tuna.tsinghua.edu.cn/simple
    conda install pywin32 
    

    然后可以执行

    python
    import win32con
    

    没有出现报错就说明可以了,大功告成啦!

    7. 其他

    整个安装过程还是有很多坑,我足足折腾了两天,如果下载了更新版本的Detectron2,建议使用更高版本的CUDA和Pytorch。如果在编译过程中出现Failed,一定要注意报错后边的提示信息,挨着解决就可以了。
    这是我第一次写博客,感谢观看使用啦!

    参考

    在安装过程中,参考了许许多多的博客,其中我觉得比较有用的,比较正确的有以下四条,感谢这些博主,大家也可以在这里边找到其他的问题解决方法:
    win10安装detectron2,亲测有效
    Windows10下安装detectron2超详细教程(小白视角)
    Win10安装Detectron2纪实
    Win10编译Detectron2和TensorMask

    来源:zzy153

    物联沃分享整理
    物联沃-IOTWORD物联网 » Win10下安装Detectron2,超详细教程!

    发表评论