一、赛前准备
创建桶及文件夹
- 创建obs桶,用于存放竞赛数据,本教程桶名称为:obs-competition-youkox
- 新建一个文件夹,用于存放黑客松大赛相关文件,本教程文件夹名:hei_ke_song,本教程所有文件操作都在这个文件夹下
- 新建一个codes文件夹,用于存放代码文件。
- 新建一个model_output文件夹,用于存放训练输出文件
- 新建一个文件夹,用于存放黑客松大赛相关文件,本教程文件夹名:hei_ke_song,本教程所有文件操作都在这个文件夹下
- 创建好的桶及文件夹如下图所示
创建Notebook环境
在ModelArts平台依次点击 开发环境、Notebook、创建
名称可自定义,参数如下所示:
- 类型选 GPU
- 规格最好选 现时免费
- 储存配置选 对象存储服务(OBS)
- 存储位置选刚才创建的 codes文件夹
完成后点 下一步、提交
二、获取竞赛数据集
等待Notebook环境创建完成后,点击 打开,以打开Notebook
然后依次点击右上角 New、Pytorch-1.0.0,进入代码开发界面
拷贝如下代码
import moxing as mox
mox.file.copy_parallel('s3://obs-aifood-bj4/aifood', 's3://你的桶名/桶内文件夹名/aifood')
mox.file.copy_parallel('s3://obs-aifood-bj4/baseline', 's3://你的桶名/桶内文件夹名/baseline')
print('Copy procedure is completed !')
将其粘贴到代码输入框,并将汉字 你的桶名 改为你刚才创建的桶名,将 桶内文件夹名 改为你刚才创建的文件夹名,并运行,如下图所示
tip:可能由于资源不足,这段代码会一直处在运行中,这时需要我们自行去检查数据集是否拷贝完成。
我们可以看到拷贝完成后,文件夹下面多了aifood和baseline这两个文件夹
目前文件结构如下所示
- hei_ke_song
- aifood——————数据集文件夹
-
images————数据集
-
meta
- labels_10c.txt
-
- baseline
- model——————模型代码文件
- model——————模型代码文件
- aifood——————数据集文件夹
三、上传训练脚本文件
这里我们使用官方提供的基础训练脚本,aifood_baseline.ipynb,训练脚本可以在华为云帖子中下载,也可直接点击此处下载
下载好脚本后,我们在notebook控制台点击 Upload 按钮,选择刚才下载的脚本后,点击 打开,如下图
然后点击箭头所示的蓝色 Upload 按钮进行上传
上传完成后,点击文件名打开
四、修改及运行训练脚本
首先,我们需要修改红圈部分分别为,我们在赛前准备时创建的桶名及文件夹名,如下图,然后运行第一段代码(shift+回车)
接着,我们就一步一步运行代码,直到最后一段,先不要着急运行哦,还需要修改红圈部分路径,和上一步一样,注意其他部分不能动哦,修改完成后再运行
到这里模型训练完成,也已经保存在model_output文件夹下(还记得吗,就是我们在第一步创建的两个文件夹之一)
五、导入模型
在导入模型之前,我们首先要上传推理代码,还有印象吧,这些我们在第二步都已经拷贝好了,在baseline文件夹下的model文件夹里(没有的朋友可以进入华为云帖子中下载压缩包)
现在让我们把这三个文件复制到model_output/model里去,结果如下图,当然细心的朋友可能发现这个目录下还有一个.pth文件,这个就是刚才训练好的模型,还记得我们在notebook最后一段改的路径吗,就是保存这个
现在让我们回到ModelArts控制台,依次点击 模型管理、模型、导入
名称可自定义,这里注意元模型来源选 从OBS中选择,文件夹选 model_output(一定要选model文件夹的上一层文件夹,也就是model_output),然后点击 立即创建 按钮,等待创建完成
模型发布(提交作品)
相信怎么部署模型为在线服务大家都已经会了,本教程不在赘述,现在我们来说说怎么提交作品。
点击我们刚创建模型名称前面的 ^ 符号,然后点击 发布、参赛发布
项目选择本竞赛,最后点击 确定 即可
到此,操作结束,如果觉得本文对您有帮助请点个赞支持我呦!(●’◡’●)