【mmdetection】使用:训练和测试

本文详细介绍了如何使用MMDetection框架进行目标检测模型的训练,包括数据集准备、配置文件修改、模型训练与测试等关键步骤,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、训练之前的准备,使用自己的数据集

默认使用coco数据集格式(json文件)

修改./mmdet/datasets/coco.py里的CLASSES的元组为自己的数据集类别
在这里插入图片描述

修改./mmdet/core/evaluation/class_names.py里的coco_classes()函数
在这里插入图片描述

二、修改配置文件

配置文件在./config/*.py
配置文件参数使用python字典形式存储的
几个需要改的地方

pretrained:预训练模型.pth文件,默认是运行时从链接即时下载的,也可以提前下载好,在此填写下载好的的模型路径;
num_classes:类别数+1(背景);
data_root:自己数据集的根目录;
img_scale:自己数据集的图片尺寸 (最大边,最小边);
data.train{val, test}.ann_file{img_prefix}:数据集的标注和图片路径;
optimizer:修改优化器的策略,尤其是lr,学习率过大会梯度爆炸NaN,默认学习率是gpu=8的,学习率的设定大致与GPU数量成正比。

三、训练

python tools/train.py configs/mask_rcnn_r50_fpn_1x.py --validate

参数配置:

config 配置文件路径
–work_dir 保存log和模型的路径,在配置文件里有默认路径,每个epoch都会生成一个.pth,latest.pth是一个符号链接,链接到最新的训练模型;
–resume_from 从某个检查点继续训练
–validate 训练期间是否评估检查点
–gpus 使用GPU的个数,仅适用于非分布式训练, 默认为1
–seed 随机种子,默认是None
–launcher 任务启动器 choices=[‘none’, ‘pytorch’, ‘slurm’, ‘mpi’], default=‘none’
–local_rank 默认是0
–autoscale-lr 用gpu的数量自动缩放lr

四、测试

python tools/test.py configs/mask_rcnn_r50_fpn_1x.py \
work_dirs/mask_rcnn_r50_fpn_1x/latest.pth \
--out ./test_result/mask_rcnn_r50_fpn_1x/latest.pkl \
--eval bbox segm 
--show

参数配置:

config 配置文件,和训练的一样;
checkpoint 训练出来的模型.pth的路径,
-out 输出结果文件路径
–eval 测试评估类型 参数可多选 choices=[‘proposal’, ‘proposal_fast’, ‘bbox’, ‘segm’, ‘keypoints’];
–show 显示测试图片
–launcher
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值