AI Studio为我们提供了免费的GPU资源,当我们在NoteBook环境中把代码调试成功后,通常一个训练任务耗时较长,而Notebook离线运行有时长限制,一不小心就容易被kill掉。
如何解决这一问题?
后台任务帮到你!有关什么是后台任务,以及如何起一个后台任务,官方已经出了相关教程。
本次分享将基于笔者的一个任务需求-SAR图像目标检测,带领大家从0到1跑通一个检测任务的后台训练,希望能为有类似需求的同学提供一点帮助。
这一步是为模型训练做好准备
数据集获取有两种方式:
- 在AI Studio平台-数据集中搜索是否有自己需要的数据集;
- 如果是自己收集的数据,首先需要制作成为VOC 或者 COCO 格式的数据,这里笔者已经把一个SAR图像目标检测数据集SSDD制作好了,然后上传到了AI Studio平台SSDD遥感SAR目标检测数据集-COCO格式
新建一个Notebook任务,
AI Studio平台注册账号后,点击创建项目-选择NoteBook任务,然后添加上一步的数据集,参考下图操作(注意数据集选用SSDD遥感SAR目标检测数据集-COCO格式),完成项目创建。
本次任务我们将采用PaddleDetection框架完成训练任务,为此需要先将PaddleDetection下载到本地:
安装环境依赖:
测试是否安装成功:
如果出现下图,说明安装成功:
为了完成训练任务,我们需要准备两个配置文件:
- 数据集配置文件
- 模型配置文件
选择一个检测模型,这里我们以选用picodet为例,在中找到并复制一份,命名为,修改其中对应的数据集配置文件即可:
这时就可以开启训练任务了:
如果没问题的话,可以看到训练日志,接下来就可以创建后台任务,将这一训练放到后台去跑了。
后台任务对上传文件数量和大小都有限制,为此我们不能将dataset和PaddleDetection都上传,这时就需要我们在NoteBook中手动下载需要的数据,并进行必要的操作完成环境准备。这里我们以新建为例,在cell中写入如下代码,主要分为以下几个步骤:
- 解压数据
- 环境配置
- 开启训练
注意:这里需要将上一步中新建的配置文件和放到下载的PaddleDetection文件夹中
创建后台任务之前,需要我们将用到的代码新建一个版本,比如这里我们只需要上传三份代码:
点击项目栏左侧 版本->版本管理+ ,参考下图勾选需要的文件,点击生成版本即可:
完成项目版本创建后,就可以创建后台任务了,点击项目栏左侧 任务->后台任务+,如下图所示,选择刚刚构建的项目版本,并指定执行文件:
点击下一步,就可以看到任务状态已经改变了:
当状态变更为,可以在右侧,如果有报错,需要对应排除掉bug后再重新按照上述流程提交任务。
如果运行成功,可以看到如下日志,这里显示大约40min后任务会完成:
下载下来的模型权重文件位于,将得到的模型参数文件,上传到我们的项目文件夹中,通过如下代码我们在验证集上评估一下:
此外,我们还可以将训练得到的模型进一步压缩,以及转换成部署需要的模型,分别在服务端和手机端进行部署,这部分的具体流程可以参考笔者之前撰写的文档:
【飞桨AI实战】Yolo交通灯检测:手把手带你入门PaddleDetection,从训练到部署