mmdetection安装与测试(Windows环境)

这是在Windows系统安装完mmdetection后的总结。

官方mmdetection教程:https://mmdetection.readthedocs.io/en/latest/

一、最终安装版本信息与安装前提

最终安装版本
· 显卡:NVIDIA GeForce MX330
· 系统:Windows 11
· python:3.9.15
· cuda:11.3
· cudnn:8.4.0
· pytorch:1.10.0
· torchvision:0.11.1
· mmcv-full:1.7.0
· mmdetection:2.27.0
安装前提
下载Git,可以直接用git命令从GitHub下载代码仓库,在之后的安装中使用源代码安装,使安装更加稳定。
下载地址: https://git-scm.com/download/win
我下载时总是一卡一卡的时不时下载失败,如想下载更快,可用换源方法(虽然我没有试过)
Git安装教程很多,可以自行搜索。

二、安装顺序

大致安装顺序:Anaconda(python) — CUDA和cuDNN — Pytorch — mmcv-full — mmpose — mmpycocotools — mmdetection

1. Anaconda的安装(内置python)

官网:https://www.anaconda.com/products/distribution
去官网进行下载并安装,安装教程很多。建议事先不要下载python,不然会很麻烦
下载安装完毕后,打开Anaconda Prompt(Anaconda3),输入:

python


可以得知python的版本,我的是python 3.9.13

输入Ctrl+Z 退出python编辑器

在这里插入图片描述

在base环境下创建虚拟环境:

conda create --n mmdet python=3.9
y

上述mmdet可换成任意名称,此为虚拟环境的名称。

2.CUDA和cuDNN的安装和检测

cuDNN是对CUDA的补充,有很多CUDA和cuDNN的教程就不细说了,下载完cuDNN后将其覆盖CUDA中的同名称文件夹就行。下面是CUDA和cuDNN的官方教程地址:

CUDA官方教程:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
cuDNN官方教程:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows

3. Pytorch的安装和测试

·安装
首先构建python的虚拟环境!!!
pytorch一定要安装在虚拟环境内!!!不能在(base)里!!血的教训啊!!
激活环境mmdet

conda activate mmdet

运行结果如下:
在这里插入图片描述
Pytorch官网,向下滑

在这里插入图片描述
按电脑配置进行选择,对表格最下面的Run this Commond后显示的一串命令代码进行复制然后粘贴到Anaconda Prompt里面去进行安装。

但是!!!我在安装pytorch的时候老是报错!!! 错误如下:

 ERROR: Failed building wheel for pytorch

解决方法:

pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

看到有人说是由于缺乏镜像资源,需要手动下载。

·检测安装情况
在虚拟环境(mmdet)下,输入

python
import torch
torch.__version__

注意 torch 后有.
在这里插入图片描述
结果如上则安装成功。

4.安装visualstudio2019

下载地址:https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes

安装好后进行环境变量的配置:
我的文件路径是C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\Hostx86\x64
我的安装路径是默认的路径,若修改了路径,则在安装的文件中自行按照我的路径查找至x64。
点击开始按钮,搜索环境变量,双击编辑系统环境变量
在这里插入图片描述
点击环境变量(N)...

在这里插入图片描述
双击Path

在这里插入图片描述
点击新建,然后将文件路径复制粘贴至空白区域,然后点确认

5.mmcv-full的安装和检测

·下载
用管理员身份运行Anaconda Powershell Prompt

conda activate mmdet

方法一:mim install

pip install -U openmim
mim install mmcv-full

我照着一些帖子说的用pip下载安装,每次都会报错Building wheel for mmcv-full (setup.py) ... error 啊啊啊!烦死我了!!!然后用git方法直接下载结果下载的是mmcv,不是mmcv-full,后来发现可以用mim install,亲测可以!!!
但是,我当时不知道是哪里出错了不能使用mim install,即使是安装了openmim工具包也不行!不过后面发现可以先卸载再安装。
所以我直接下载了whl文件,这个也是可以的!

方法二:直接下载whl文件

pip install /C:/Users/16619/download/mmcv_full-1.7.0-cp39-cp39-win_amd64.whl

·验证

pip show mmcv-full

在这里插入图片描述
得到上面图片的样子便是安装成功啦!

6.mmpose和mmpycocotools的安装和检测(顺序可颠倒)

前面的都解决了,这两个工具包那就是小case啦!
·mmpose

git clone https://github.com/open-mmlab/mmpose.git
cd mmpose
pip install -r requirements.txt
pip install -v -e .  # or "python setup.py develop"

注意:最后一行命令-e的后面有.
最后一行命令也可以是python setup.py develop
·mmpycocotools
先下载pycocotools

pip install pycocotools

再安装mmpycocotools

pip install mmpycocotools

·检测

pip list

然后可以在表格中找是否有mmpose和mmpycocotools

7.mmdetection的安装

方法一:源代码安装

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e .

方法二:pip安装

pip install mmdet

三、mmdetection测试

(用管理员身份运行Anaconda Powershell Prompt)在下载配置和检查点文件的时候不知道为什么报错缺少mmengine,所以我还需要安装一个mmengine,可能是我前面的下载哪里缺了点。
安装还是在虚拟环境中
1)使用mim下载

pip install -U openmim
mim install mmengine

2)使用pip安装

pip install mmengine

1.下载配置和检查点文件

mim download mmdet --config yolov3_mobilenetv2_320_300e_coco --dest .

下载将需要几秒钟或更长时间,具体取决于网络环境。完成后,可以在当前文件夹中找到两个文件。
1.yolov3_mobilenetv2_320_300e_coco.py
2.yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth

2.验证推理演示

1)如果从源代码安装 mmdetection,只需运行以下命令。

python demo/image_demo.py demo/demo.jpg yolov3_mobilenetv2_320_300e_coco.py yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth --device cpu --out-file result.jpg

运行成功后可以在文件夹中看见一个新图像result.jpg。其中会有边界框绘制在汽车、长凳等物体上。新图像result.jpg打开如下图所示:
result

2)如果从 pip 安装 mmdetection,请打开 python 解释器并复制并粘贴以下代码。

from mmdet.apis import init_detector, inference_detector

config_file = 'yolov3_mobilenetv2_320_300e_coco.py'
checkpoint_file = 'yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth'
model = init_detector(config_file, checkpoint_file, device='cpu')  # or device='cuda:0'
inference_detector(model, 'demo/demo.jpg')

运行成功后,会看到打印的数组列表,指示检测到的边界框。
虽然但是,我使用源代码安装后运行上述命令出现报错:无法找到文件路径demo\demo.jpg
解决方法:在demo前加上mmdetection/就可以了,命令如下:

python mmdetection/demo/image_demo.py mmdetection/demo/demo.jpg yolov3_mobilenetv2_320_300e_coco.py yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth --device cpu --out-file result.jpg

四、安装过程中会出现的一些问题

问题一:
在这里插入图片描述
解决方法:使用管理员身份运行

问题二:'mim’不是内部或外部命令,也不是可运行的程序或批处理文件

刚开始即使下载了openmim依旧用不了mim install 急死我了!!(也可能是因为我当时没有下载mmpycocotools库的原因导致的)
解决方法:

pip uninstall openmim
pip install -U openmim

嘿嘿!重新下载一下就好啦!

问题三:安装的时候出现超时现象,然后程序终止
解决方法:多试几次(可能是网络不好)
或者是运行代码(若还是不行,则可将1000.0改为2000.0):

conda config --set remote_read_timeout_secs 1000.0

问题四:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized
解决方法:暴力解决法:点开文件管理器,在搜索一栏直接搜索libiomp5md.dll,然后查找出来的所有里面留下一个,其他都右键删除即可。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值