mmdetection2.0

win11配置mmdetection2.13

windows11+cuda10.2+mmdetection2.13.0+mmcv1.3.8+pytorch1.8+anaconda(爆肝两天终于在win11上跑通了mmdetection2.0,文中链接来自于其他用户,非原创)

Q&A

注意:整个过程中遇到的问题主要是mmcv和pytorch和mmdetection之间的版本不匹配问题,因此需要在安装前提前看好版本对应关系

  1. mmdetection版本不匹配mmcv的话可以直接删掉mmdetection的文件夹,重新下载匹配的mmdetection重新安装一下即可
  2. 不要安装多个版本的mmcv即便是不同conda环境仍然有问题(可能是我自己装混乱了)
  3. VS请选择2017或2019,一开始装的2022后来报错,但是跳的太快,瞟到一眼说VS版本必须在2019-x之间(x没看清),于是果断卸载2022,重装2019,没有任何问题
  4. conda建议换源,北外或者北交(14条消息) anaconda 换源大全(清华源很慢)_Lejeune的博客-CSDN博客_anaconda换源之后还是慢
  5. conda和pip可以混用,都可以装到当前环境
  6. 需要使用powershell,cmd不行

安装cuda10.2

上官网即可

安装VS2019

上官网即可,尽量选择2017,或者2019版本比较稳定

安装anaconda

上官网即可,基本没有问题

安装pytorch

注意:mmcv=1.3.x对应torch=1.x.0

Pytorch官网Previous PyTorch Versions | PyTorch

例如# CUDA 10.2
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch #-c -torch即使用官网源码编译,若使用清华源等则不用写

安装mmcv

推荐官网用源码安装(这里直接安装mmcv-full最全的版本,官网有精简版)

从源码编译 MMCV — mmcv 1.4.3 文档

准备工作
  1. 准备 MMCV 源代码(注意:切记要去github找对应pytorch版本的mmcv版本,否则默认最新版,会报版本不匹配错误错

    git clone https://github.com/open-mmlab/mmcv.git #可以直接从github上下载指定版
    cd mmcv-1.x.0                                    #本的mmcv,解压后就能得到一个                                                  #mmcv-1.x.0的文件夹
    
  2. 安装所需 Python 依赖包

    pip3 install -r requirements/runtime.txt
    
  3. 建议安装 ninja 以加快编译速度(非必须,有些低版本mmcv根本没有optional.txt因此不安装也没关系)

    pip install -r requirements/optional.txt
    
  4. 设置 MSVC 编译器

    设置环境变量。添加 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx86\x64系统环境变量中的 PATH,则 cl.exe 可以在命令行中运行,如下所示。(windows命令行不会直接更新,重新打开cmd就可以了)

    (base) PS C:\Users\xxx> cl
    Microsoft (R) C/C++ Optimizing  Compiler Version 19.27.29111 for x64
    Copyright (C) Microsoft Corporation.   All rights reserved.
    
    usage: cl [ option... ] filename... [ / link linkoption... ]
    
设置环境变量
  1. 设置环境变量(我自己的电脑是1050ti因此设置的MAX_JOBS为4,官网默认给的8)

    $env:MMCV_WITH_OPS = 1
    $env:MAX_JOBS = 4  # 根据你可用CPU以及内存量进行设置
    

    检查 CUDA_PATH 或者 CUDA_HOME 环境变量已经存在在 envs 之中

    (base) PS C:\Users\WRH> ls env:
    
    Name                           Value
    ----                           -----
    CUDA_PATH                      C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
    CUDA_PATH_V10_1                C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
    CUDA_PATH_V10_2                C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
    

    如果没有,你可以按照下面的步骤设置

    $env:CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2"
    # 或者
    $env:CUDA_HOME = $env:CUDA_PATH_V10_2  # CUDA_PATH_V10_2 已经在环境变量中
    
  2. 设置 CUDA 的目标架构

    $env:TORCH_CUDA_ARCH_LIST="6.1" # 支持 GTX 1080 #建议直接用这个
    # 或者用所有支持的版本,但可能会变得很慢
    $env:TORCH_CUDA_ARCH_LIST="3.5 3.7 5.0 5.2 6.0 6.1 7.0 7.5"
    
编译安装
  1. 安装

    $env:MMCV_WITH_OPS = 1
    $env:MAX_JOBS = 4 # 根据你可用CPU以及内存量进行设置
    conda activate mmcv # 激活环境
    cd mmcv  # 改变路径
    python setup.py build_ext  # 如果成功, cl 将被启动用于编译算子
    python setup.py develop # 安装
    pip list # 检查是否安装成功
    

安装mmdetection

注意:mmdetection对mmcv版本有要求,且仍然建议用源码安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xv2ASstL-1641968985464)(F:\知识总结\图片\v2-c8cb58dffa9bea374d11837600e16065_r.jpg)]

在官网找到合适版本的源码下载然后解压会得到一个文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ySfj7yoh-1641968985465)(F:\知识总结\图片\image-20220112141436317.png)]

cd mmdetection-2.x.0   
pip install -r requirements/build.txt   
pip install -v -e . 

测试

首先需要在mmdetection目录下新建一个checkpoints目录,下载FasterRcnn的权重到这个文件夹中,下载的地址是:

https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth

在命令行中cd到mmdetection的路径,执行下列代码

python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
关于ninja的环境变量,根据引用,Ninja目前支持以下环境变量: - ALLOW_ADD: 是否允许添加账号,如果设置为false,则只允许已有账号登录,默认为true。 - ALLOW_NUM: 允许添加账号的最大数量,默认为40。 - NINJA_PORT: Ninja运行的端口,默认为5701。 - NINJA_NOTIFY: 是否开启通知功能,默认为true。 - NINJA_UA: 自定义UA(User-Agent),默认为随机。 这些环境变量可以根据需要进行设置,以满足特定的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【ninja】Windows下安装ninja环境](https://blog.csdn.net/qq_43331089/article/details/124479684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Ninja工具介绍及基本语法](https://blog.csdn.net/tongyi04/article/details/110131799)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [青龙面板2.8 Ninja扫码安装教程(二)](https://blog.csdn.net/weixin_42565036/article/details/119353434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值