欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2023-07-28
目录

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

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 osfrom google.colab import drivedrive.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+这样训练资源更多。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。