栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【colab】在colab上使用mmdet训练自己的数据

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【colab】在colab上使用mmdet训练自己的数据

目录

一.开始二.修改并上传项目文件

1. 下载项目2. 制作coco数据集3. 修改参数

3.1. configs/_bash_需要修改的参数

(1)configs/ _base_ /datasets/coco_detection.py(2)configs/ _base_ /models/cascade_rcnn_r50_fpn.py(或其他模型)(3)configs/ _base_ /schedules/schedule_1x.py(schedule_2x.py)(4)default_runtime.py 3.2. configs/具体模型_需要修改的参数

(1)不需要修改的模型类型(2)需要修改的模型 4. 上传项目 三.新建colab笔记本(mmdet.ipynb)

1. 查看GPU2. 连接到自己的Google Drive3. 进入到Drive根目录4. 下载mmcv-full5. 下载requirements需求文件 6. 编译文件 7. 开始训练 8. 中止后继续训练 四.结语

一.开始

本文记录了在谷歌平台colab上使用mmdetV2.20训练自己的模型,包括具体流程和ipynb代码,使用colab的优点是价格较其他云平台较实惠,并且容易上手,缺点是存在限额,存在人机验证,每次最多使用24小时

二.修改并上传项目文件

出于方便修改的原因,我是在本地先下载mmdet项目,修改好具体代码,然后再上传到Google drive的。当然也可以在colab/drive中修改代码,不过稍微麻烦一点

1. 下载项目

到mmdet官网下载项目文件,本次项目选用了最新的V2.20

2. 制作coco数据集

制作自己的coco数据集,具体制作流程参考我之前发的文章,然后在mmdet项目下创建新文件夹data,将数据集放在里面,详细的信息如下图

3. 修改参数

需要修改的文件全部在config文件夹下,主要有两个文件夹

configs/ bash 下的文件(定义基本的训练通用参数, 重点!configs/具体模型(使用什么模型就修改对应文件参数)

3.1. configs/_bash_需要修改的参数
(1)configs/ base /datasets/coco_detection.py

首先修改训练/测试时候的 图片尺寸,我设置是640x640;其次修改训练/验证的 batch_size,分别对应第二个图的samples_per_gpu和interval,我这里设置是16(这个看GPU的性能)

(2)configs/ base /models/cascade_rcnn_r50_fpn.py(或其他模型)

这一步主要是修改种类数,修改 num_classes 为自己的类别(不需要考虑背景+1,有几种就修改成几种),这里我的瑕疵类别有3种

(3)configs/ base /schedules/schedule_1x.py(schedule_2x.py)

修改训练的最大轮次 max_epochs 和学习率 lr,主要是根据自己的训练要求来进行修改

(4)default_runtime.py

修改checkpoint_config的 interval 参数,这里设置为10的作用是:每10个epochs储存一次weights权值文件,设置大一点可以减少内存占用(cascade-rcnn模型每一个大概500M,跑200epochs如果不设置将会占用100G内存空间)

3.2. configs/具体模型_需要修改的参数
(1)不需要修改的模型类型

例如faster-rcnn和cascade-rcnn,特点是文件里面只有 引用 _bash_的代码

(2)需要修改的模型

例如yolov3就需要重新修改num_classes种类数/img_scale图片尺寸,特点是下面还 附带 一些代码

4. 上传项目

在Google Drive中先创建一个空的文件夹命名为mmdet(或者其他),之后在该文件下上传整个项目(Folder upload),

至此项目修改完成,准备到colab中写代码运行项目

三.新建colab笔记本(mmdet.ipynb)

打开Colab,首先新建mmdet.ipynb笔记本,然后打开 ①修改,将笔记本设置为GPU模型,有条件升级为高RAM(Colba Pro功能),之后点击 ②连接 到colab的虚拟机,然后开始输入代码进行训练,一般colab pro有更大的可能分到P100的显卡,普通用户可能是T4显卡或者K80。

笔记本中输入的代码如下(点击左上角+代码开始输入):

1. 查看GPU
!nvidia-smi
2. 连接到自己的Google Drive
import os
from google.colab import drive
drive.mount('/content/drive')
3. 进入到Drive根目录
%cd /content/drive/
%cd My Drive/mmdet
4. 下载mmcv-full

切记要标注 版本号,就是下面代码后面的cu111/torch1.10,不然下载很久很久,甚至卡住

!pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10.0/index.html
5. 下载requirements需求文件
%cd mmdetection
!pip install cython && pip --no-cache-dir install -r requirements.txt
6. 编译文件
!python setup.py develop
7. 开始训练

根据自己需求添加–no-validate,这个代码含义是:训练过程中不进行验证,训练过程不验证可以在训练结束后,自己验证,将会加快训练。

!python tools/train.py configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py --no-validate 
8. 中止后继续训练

如果训练中断,例如虚拟机到24小时自动断开,或者没有及时进行人机认证,都会导致断开虚拟机,这个时候需要重新进行1-6步,然后跳过第7步,执行第8步继续训练(-- auto-resume)

!python tools/train.py configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py --auto-resume --no-validate 
四.结语

至此在colab使用mmdet训练模型的过程就结束了,可以根据自己需求选择开通colab pro或者pro+这样训练资源更多。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728347.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号