(一)环境配置
本专题是为了记录学习mmdetection的过程,包括mmdetection的配置、代码的讲解,如何使用mmdetection训练自己的数据集。本节只记录第一部分,环境配置过程。本专题主要是在Linux下配置的,因为mmdetection在linux系统下较为友好,当然也可在windows10下配置,配置过程在我之前的博客中可以找到,在windows下配置较为复杂,建议大家在Linux下配置。
1. mmdetection介绍
mmdetection是商汤科技和香港中文大学开源的一个基于Pytorch实现的深度学习目标检测工具,支持Faster-RCNN、Mask-RCNN、YOLOV3、CascadeRcnn等目标检测框架,其主要特点是,模块化设计、支持多种目标检测模型、使用起来较为方便。
2. mmdetection配置
首先介绍一下自己的环境,Ubuntu20.04+cuda11.0。
mmdetection有以下要求,安装时需要注意,不要安装太早的版本。
- Python 3.6+
- PyTorch 1.3+
- CUDA 9.2+ (If you build PyTorch from source,CUDA 9.0 is also compatible)
- GCC 5+
2.1 下载源码
代码链接https://github.com/open-mmlab/mmdetection
首先先将代码clone到本地,在你想放代码的路径中打开终端,输入
git clone https://github.com/open-mmlab/mmdetection.git
如果下载失败,或者下载较慢的话,可以用使用github的镜像下载。代码文件夹如下图所示。
2.2 环境配置
因为我们需要GPU进行加速运算,这里默认大家已经配置好了cuda+cudnn,没有安装的同学可以先自行百度如何安装,后续我会出一个安装的教程。
2.2.1 创建虚拟环境:
首先在终端输入cd mmdetection。创建一个虚拟环境命名为mmd,在终端输入命令
conda create -n mmd python=3.7
创建完虚拟环境后,先激活虚拟环境,输入
conda activate mmd
2.2.2 安装pytorch:
前面介绍到mmdetection是基于Pytorch的,需要先安装一个Pytorch。打开Pytorch官网选择你安装对应的版本,如果你跟我的版本一样也是cuda11.0,则在终端输入
conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 -c pytorch
若显示安装超时,再输入一遍即可。下载速度慢的话,可以更换conda的镜像源,更换镜像源以后,将-c pytorch
去掉。
2.2.3 安装mmcv:
打开mmcv安装网站,如下图所示
找到对应cuda和pytorch版本的代码,注意需要把{mmcv_version}改为你想安装的mmcv的版本。如果跟我配置一样输入
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
这里注意!mmcv和下面安装的mmdet有版本对应关系,关系如下,安装时一定要注意。
MMDetection version |
MMCV version |
master |
mmcv-full>=1.3.17, <1.5.0 |
2.19.0 |
mmcv-full>=1.3.17, <1.5.0 |
2.18.0 |
mmcv-full>=1.3.17, <1.4.0 |
2.17.0 |
mmcv-full>=1.3.14, <1.4.0 |
2.16.0 |
mmcv-full>=1.3.8, <1.4.0 |
2.15.1 |
mmcv-full>=1.3.8, <1.4.0 |
2.15.0 |
mmcv-full>=1.3.8, <1.4.0 |
2.14.0 |
mmcv-full>=1.3.8, <1.4.0 |
2.13.0 |
mmcv-full>=1.3.3, <1.4.0 |
2.12.0 |
mmcv-full>=1.3.3, <1.4.0 |
2.11.0 |
mmcv-full>=1.2.4, <1.4.0 |
2.10.0 |
mmcv-full>=1.2.4, <1.4.0 |
2.9.0 |
mmcv-full>=1.2.4, <1.4.0 |
2.8.0 |
mmcv-full>=1.2.4, <1.4.0 |
2.7.0 |
mmcv-full>=1.1.5, <1.4.0 |
2.6.0 |
mmcv-full>=1.1.5, <1.4.0 |
2.5.0 |
mmcv-full>=1.1.5, <1.4.0 |
2.4.0 |
mmcv-full>=1.1.1, <1.4.0 |
2.3.0 |
mmcv-full==1.0.5 |
2.3.0rc0 |
mmcv-full>=1.0.2 |
2.2.1 |
mmcv==0.6.2 |
2.2.0 |
mmcv==0.6.2 |
2.1.0 |
mmcv>=0.5.9, <=0.6.1 |
2.0.0 |
mmcv>=0.5.1, <=0.5.8 |
2.2.4 安装mmdet
在命令行内输入pip install mmdet
即可
2.2.5 验证安装
在mmdetection中新建.py文件,先验证pytorch安装成功
import torch
print("torch和cuda是否安装成功:",torch.cuda.is_available())
输出“torch和cuda是否安装成功: True“证明安装成功
验证mmdetection是否安装成功。
从https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn中下载权重,在mmdetection中新建一个文件夹checkpoints,将下载好的权重放入文件夹中,在终端输入以下代码。
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
若安装正确,则输出以下结果。
3. 本节结束语
到此,mmdetection的环境配置已经完成,如果安装过程中出了什么错,可以在评论中留言大家讨论,如果有步骤错误的地方也请大佬指正。下一次更新mmdetection中的各个文件的含义,创作不易求大佬们点赞,感谢各位大佬。