OpenMMLab AI实战训练营 学习笔记DAY(五)-- MMDetection 框架介绍及代码讲解
本次课程依然是由王若晖老师进行讲解,后续答疑部分依然是由子豪兄(B站 同济子豪兄)进行。课程于B站上搜索OpenMMLab 在其官网首页可以查看。 具体链接如下,https://www.bilibili.com/video/BV1Av4y1475i/?spm_id_from=333.337.search-card.all.click&vd_source=dc30f12500ae4d963ddc6f21932f3d67。
MMDetection是什么
MMDetection是商汤和港中文大学针对目标检测任务推出的一个开源项目,它基于Pytorch实现了大量的目标检测算法,把数据集构建、模型搭建、训练策略等过程都封装成了一个个模块,通过模块调用的方式,我们能够以很少的代码量实现一个新算法,大大提高了代码复用率。
➢ MMDetection 提供 400 余个性能优良的预训练模型,开箱即用,几行 Python API 即可调用强大的检测能力。
➢ MMDetection 涵盖 60 余个目标检测算法,并提供方便易用的工具,经过简单的配置文件改写和调参就可以训练自己的目标检测模型。
MMDetection 环境搭建
可以使用 MIM 配置 MMCV 和 MMDetection
OpenMMLab 配置文件
➢ 深度学习模型的训练涉及几个方面:
− 模型结构 模型有几层、每层多少通道数等等
− 数据集 用什么数据训练模型:数据集划分、数据文件路径、数据增强策略等等
− 训练策略 梯度下降算法、学习率参数、batch_size、训练总轮次、学习率变化策略等等
− 运行时 GPU、分布式环境配置等等
− 一些辅助功能 如打印日志、定时保存checkpoint等等
➢ 在 OpenMMLab 项目中,所有这些项目都涵盖在一个配置文件中,一个配置文件定义了一个完整的训练过程
− model 字段定义模型
− data 字段定义数据
− optimizer、lr_config 等字段定义训练策略
− load_from 字段定义与训练模型的参数文件
代码解释
本次课程采用的是COCO数据集,具体的配置信息如下所示:
最后,王老师详细的讲解了如何微调训练自己的检测模型,并且做出了如下的总结:
通常基于微调训练:
• 使用基于COCO预训练的检测模型作为梯度下降的“起点”
• 使用自己的数据进行“微调训练”,通常需要降低学习率
具体到 MMDetection,需要:
• 选择一个基础模型,下载对应的配置文件和预训练模型的参数文件
• 将数据整理成MMDetection的支持的格式,如COCO格式或者自定义格式
本次王老师所讲的代码实操是基于openbayes做的,后续课程估计还是基于超算云平台运行。