MMDetection 代码教学

本文是openmmlab AI实战营的第五次课程的笔记,以下是我比较关注的部分。

本次课程是mmdetection 实践,我会稍微详细记录

在openbayes 官网 创建装好 邀请码wanglin_g8vp

创建容器

容器中很多环境已经安装好,可以使用pip list 查看

接下来安装 mmdetection

方法有两种

git clone

openmim

这里使用第二种 ,我们知道pip 是管理python的工具包,MIM实际上就是管理OpenMMLab工具包,因为有一些依赖关系比较复杂,如果直接去写比较麻烦,openmmlab 又单独开发这么一套工具去帮助简化流程

!pip install openmim
! mim install mmdet==2.22.0  

个人感觉该平台网速很快,流畅访问github,安装很快

import mmdet
print(mmdet.__version__)

查看是否安装成功

下载模型

搜索 mmdet 中的模型

!mim search mmdet --model "mask r-cnn"

选一个模型,复制configid

例如:mask_rcnn_x101_32x4d_fpn_2x_coco

#下载该模型
!mim download mmdet --config mask_rcnn_x101_32x4d_fpn_2x_coco

修改配置文件

此处插播 :

深度学习模型的训练涉及几个方面:
模型结构:模型有多少层、每层多少通道数
数据集 : 用什么数据训练模型:模型划分,数据文件路径,数据增强策略等
训练策略:梯度下降法,学习率参数,batch_size,训练总轮数,学习率变化策略
运行时 :GPU,分布式环境配置
一些辅助功能: 如打印日志,定时保存checkpoint 等等

事实上,要从头写一个模型训练程序要写这么多东西,但是这里面又有很多东西是共通的,从一个软件的角度来讲,我们要把一样的东西给抽出来,然后把不一样的东西写成配置文件,让用户去配置,所以在mmdetction当中形成了这么一个东西叫配置文件。你用什么样的模型,你用什么样的数据,你用什么样的数据,你用什么样的学习算法,都在配置文件中写上自己的。这个配置文件就是 上面那个命令下载的py文件

这里面比较重要的实际上也就这么几项:

  1. model 字段定义模型

  1. data字段定义数据

  1. Optimizer, Ir_config 等字段定义训练策略

  1. load_from 字段定义训练模型的参数文件

预训练的模型,只涵盖了某个数据集的一些数据,在用自己数据集训练的时候,基于预训练的模型进行微调:

  • 使用基于coco 预训练的检测模型作为梯度下降的“起点”

  • 使用自己的数据进行“微调训练”,通常需要降低学习率

具体到MMdetction 需要:

  • 选择一个基础模型,下载对应的配置文件和预训练模型的参数文件

  • 将数据调整成mmdetection支持的格式,如coco格式

  • 修改配置文件

  • 修改配置文件中的数据路径

  • 修改模型的分类头

  • 设置加载预训练模型

  • 修改优化器配置

  • 修改一些杂项

配置文件可以通过继承方式

训练

!mim train mmdet 配置文件

成功训练 !!!

最好再降低一下学习轮次,降低学习率。

runner :epoch

optimizer : learning rate (lr)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值