小言_互联网的博客

【mmdetection】使用:训练和测试

433人阅读  评论(0)

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

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

  1. 修改./mmdet/datasets/coco.py里的CLASSES的元组为自己的数据集类别
  2. 修改./mmdet/core/evaluation/class_names.py里的coco_classes()函数

二、修改配置文件

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

  1. pretrained:预训练模型.pth文件,默认是运行时从链接即时下载的,也可以提前下载好,在此填写下载好的的模型路径;
  2. num_classes:类别数+1(背景);
  3. data_root:自己数据集的根目录;
  4. img_scale:自己数据集的图片尺寸 (最大边,最小边);
  5. data.train{val, test}.ann_file{img_prefix}:数据集的标注和图片路径;
  6. 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

四、基础使用

待写


转载:https://blog.csdn.net/weixin_39916966/article/details/101543005
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场