基于华为AI训练平台ModelArts+MindSpore+Ascend910的目标检测和ModelArts平台训练流程分析
步骤
1.购买华为云的对象存储服务,推荐选择北京4的低频存储,40G按年计费为9元。
3.在AI-gallery中寻找对应研究方向的合适的数据集,如果做cv的yolo目标检测,coco2017是一个不错的选择。这里将coco2017下载到对象存储的桶p1\data目录下。
4.进入开源社区MindSpore下载yolov4相应的代码到本地(git clone),再通过对象存储服务将全部相关的代码文件上传到桶p1\code目录下。
5.从mindspore官网下载预训练文件放置在p1\pretrain文件下。
6.修改code目录下train_config.yaml(这一步也可以放在后面通过ModelArts平台配置超参等)
主要是以下几处,这里可以根据每次训练的期望自由配置
-
enable_modelarts = true
-
warmup_epoch =4,相当于热身几轮,建议采用比较小的学习率。如果刚开始步子迈的太大,就不利于后面的训练。
-
checkpoint_url = yolo/pretrain/...
-
is_distributed = 0, 0 对应单卡训练
-
training_shape = 416, 训练中的图片尺寸
-
need_modelarts_dataset_unzip = true, 这样就可以自动解析上传的压缩包
6.开启ModelArts训练之旅
-
设置数据集路径:p1\data
-
设置训练启动路径:p1\code\train.py
-
设置预训练路径:p1\pretrain\
-
设置模型输出路径:p1\output
-
设置日志输出路径:p1\log
-
设置显卡:Ascend910
ModelArts平台训练流程分析
通过观察训练日志,可以一窥ModelArts的运行流程
个人推测如下:
-
根据train_config.yaml文件对平台的参数进行配置,未指定的参数就用缺省值
-
解析code,对于需要import的库进行快速的安装,这里应该是通过镜像下载,并且下载的包必然是与当前python版本等环境适配的。这正是modelarts相当省时省力的一大亮点。
-
这里开始输出常见的训练日志文件。随着epoch++,loss下降,学习率也在增加,这正是AI训练的优势,可以随时地在训练过程中调整一些超参。
-
训练结束,可以查看p1\yolo\output和p1\yolo\log 做进一步的分析
-
modelarts平台会保存每一次的训练记录,这样可以看到一个长期的调整的工作思路,为我们承担了每次训练后必做的核心训练结果保存的工作
-
- 点赞
- 收藏
- 关注作者
评论(0)