MMDetection 开始
本文将引导快速使用 MMDetection ,记录了实践中需注意的一些问题。
环境准备#
基础环境#
- Nvidia 显卡的主机
- Ubuntu 18.04
- 系统安装,可见 制作 USB 启动盘,及系统安装
- Nvidia Driver
- 驱动安装,可见 Ubuntu 初始配置 - Nvidia 驱动
开发环境#
下载并安装 Anaconda ,之后于 Terminal 执行:
pytorch==1.7.0 时多卡训练会发生问题,需参考此 Issue。命令参考:
更多安装方式,可见官方文档:
现有模型进行推断#
Faster RCNN#
以 R-50-FPN 为例,
| Backbone | Style | Lr schd | Mem (GB) | Inf time (fps) | box AP | Config | Download |
|---|---|---|---|---|---|---|---|
| R-50-FPN | pytorch | 1x | 4.0 | 21.4 | 37.4 | config | model | log |
下载 model 文件到 mmdetection/checkpoints/。之后,进行推断,

现有模型进行测试#
准备数据集#
下载 COCO 数据集,如下放进 mmdetection/data/coco/ 目录,
测试现有模型#
效果如下,

结果如下,
标准数据集训练模型#
准备数据集#
同前一节的 COCO 数据集。
准备配置文件#
配置文件为 configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py。
需要依照自己的 GPU 情况,修改 lr 学习速率参数,说明如下:
lr=0.005for 2 GPUs * 2 imgs/gpulr=0.01for 4 GPUs * 2 imgs/gpulr=0.02for 8 GPUs and 2 img/gpu (batch size = 8*2 = 16), DEFAULTlr=0.08for 16 GPUs * 4 imgs/gpu
训练模型#

自定义数据集训练模型#
自定义数据集#
这里从 Pascal VOC 数据集拿出 cat 作为自定义数据集来演示,
数据集需要是 COCO 格式,以上直接用 datum 从 VOC 拿出 cat 并转为了 COCO 格式。
准备配置文件#
添加 configs/voc_cat/faster_rcnn_r50_fpn_1x_voc_cat.py 配置文件,内容如下:
model配置num_classes=1为类别数量dataset配置为准备的自定义数据集schedule配置训练的lr及迭代轮次total_epochsruntime可配置checkpoint间隔多少存一个。默认 1 epoch 1 个,空间不够用😶
配置可对照 __base__ 的内容覆盖修改,更多说明见官方文档。
训练模型#
断点恢复时,
如发生 ModuleNotFoundError: No module named 'pycocotools' 错误,这样修正:
查看训练 loss#
可用 keys 见 log.json 记录。