MMDetection安装使用教程

本文详细介绍了如何利用conda创建虚拟环境,安装Pytorch、Torchvision和mmdetection,执行模型测试及解决ModuleNotFoundError问题。此外,还阐述了针对kitti-tiny数据集的训练流程,包括数据准备、配置文件修改和训练命令的执行,为深度学习目标检测提供了一套完整的实践指南。
摘要由CSDN通过智能技术生成

安装 – 使用conda进行安装

a. 创建虚拟环境并激活它
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab

b. 安装Pytorch和Torchvision
conda install pytorch torchvision -c pytorch

c. 克隆mmdetection存储库
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection

d. 安装mmdetection
pip install mmcv -i https://pypi.douban.com/simple
python setup.py develop


初步使用 – 测试

a. 新建文件夹checkpoints,将模型文件下载到该文件夹下面
模型地址中选择需要的预训练模型文件。

b. 执行测试命令
python tools/test.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_2020-130-047c8118.pth --out output/test.pkl
注:
在执行上述测试命令时报错,ModuleNotFoundError: No module named 'mmcv_._ext'
后执行命令
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
然后再次执行测试命令。

结果:
因为我们使用的coco数据集预训练的模型,所以为了方便,测试使用的数据也是2017coco测试集,将注释和图片文件放在data/coco文件夹下面了。

如果上述测试命令执行成功,会在output文件夹下生成一个test.pkl文件,该文件就是模型的预测结果,共5000个结果,每个结果对应80个类别的预测结果。这些类别的结果长度从0到不等,大于0时,每个子结果的长度为5,[x1, y2, x2, y2, prob],对应左上角坐标、右下角坐标和概率。


进阶 – 训练

这里我们使用官方教程里的kitti-tiny数据集为例:

a. 首先下载kitti数据集
b. 然后观察格式,我们可以看出,标注的第一列是类别,5-8列是边界框坐标(x1, y1, x2, y2)。
具体操作步骤如下:

  1. 在mmdet/datasets文件夹下新建一个kitty_tiny.py文件,然后在文件里定义一个KittiTinyDataset类,继承自CustomDataset,实现load_annotations()方法。
  2. 在mmdet/datasets/init.py文件中添加一句,from .kitti_tiny import KittiTinyDataset
  3. 在configs/base/datasets文件夹下,新建一个kitti_instance.py文件,复制coco_instance.py文件中的内容,修改dataset_type, data_root, ann_file, img_prefix, pipeline等对应的信息。
  4. 在configs/base/models文件夹下,新建一个faster_rcnn_r50_fpn_kitti.py文件,复制faster_rcnn_r50_fpn.py文件中的内容,修改num_classes=3。
  5. 在configs/base/schedules文件夹下新建一个schedule_kitti.py文件,复制schedule_1x.py文件内容,并修改训练策略。
  6. 在configs/faster_rcnn文件夹中添加一个faster_rcnn_r50_fpn_1x_kitti.py文件,复制faster_r50_fpn_1x_coco.py文件中的内容,然后,修改_base_列表中的四个元素的路径。

最后执行训练命令:
CUDA_VISIBLE_DEVICES=2 nohup python -u tools/train.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_kitti.py --work-dir output/kitti --resume-from checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth --gpus 1 >output/kitty.log 2>&1 &
注:
源代码里每个epoch都会保存一个模型,如果内存不够的话,记得及时删除。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值