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

默认使用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:类别数;
  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

四、基础使用

待写

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐