华为云端服务器使用Modlearts跑MindSpore框架Yolov5
环境准备
- 云平台登录,用于购买服务器https://uconsole.xckpjs.com/
- 我这里用的是昇腾Ascend 910
- 点击ModelArts打开控制页面,ModelArts
ModelArts是面向AI开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
“一站式”是指AI开发的各个环节,包括数据处理、算法开发、模型训练、模型部署都可以在ModelArts上完成。从技术上看,ModelArts底层支持各种异构计算资源,开发者可以根据需要灵活选择使用,而不需要关心底层的技术。同时,ModelArts支持Tensorflow、PyTorch、MindSpore等主流开源的AI开发框架,也支持开发者使用自研的算法框架,匹配您的使用习惯。
ModelArts的理念就是让AI开发变得更简单、更方便。
面向不同经验的AI开发者,提供便捷易用的使用流程。例如,面向业务开发者,不需关注模型或编码,可使用自动学习流程快速构建AI应用;面向AI初学者,不需关注模型开发,使用预置算法构建AI应用;面向AI工程师,提供多种开发环境,多种操作流程和模式,方便开发者编码扩展,快速构建模型及应用。
- 点击对象存储控制台,这个是与服务器传输文件的唯一工具
选择需要的版本下载客户端
登录以后新建桶,桶就是容器,用来装代码以及数据,为了方便管理,建议每个项目一个桶,与ModelArts控制器是同步的
代码下载及上传
MindSpore框架的Yolov5链接https://www.hiascend.cn/zh/software/modelzoo/models/detail/C/9af06eedaa1b9577d6221a939a31747d
点击下载模型脚本,就是代码文件
然后把modelart
文件夹里的train_start.py
文件复制到上一层的code文件夹里,他是ModelArts训练的启动文件
现在我们把代码上传到桶里,打开之前下载的OBS Browser+客户端,新建一个桶,名字可以自定义,然后新建四个文件夹,分别是
code
,用于存放运行代码dataset
,用于存放数据集log
,用于存放日志文件output
,用于存放输出文件
然后将上一步下载的yolov5代码上传到code文件夹里,数据集放到dataset文件夹里,我这里用的数据集是coco2014
ModelArts创建算法
打开ModelArts控制台,点击算法管理,然后点击创建算法,创建我们自己的算法
名称可以自定义,AI引擎选择MindSpore
,代码目录选择桶里面的code文件夹,启动文件选择刚刚复制的code
文件夹里面的train_start.py
输入数据添加代码路径参数data_url
输出数据添加代码路径参数train_url
超参添加max_epoch
,默认值为 1
点击右下角提交,创建算法成功
ModelArts训练数据
点击ModelArts里面的训练作业,然后点击创建训练作业
选择上一步创建好的算法
训练输入选择OBS桶里面的数据集路径
训练输出选择OBS桶里面的output
文件夹
超参max_epoch
就是选择迭代几次,根据自己需求输入
下面的资源池就选择自己购买的服务器,作业日至路径选择OBS桶里面的log文件夹
点击右下角提交就开始训练了,根据迭代次数以及数据集大小的不同训练时间长短不一
训练可能会报错NameError: name ‘args’ is not defined
NameError: name 'args' is not defined
我的解决方法是,打开出错文件train_start.py
文件,发现里面确实没有定义 args,加个定义就好了。
运行成功后,可以点击进入训练任务,查看loss值等参数
也可以进到OBS桶里面的log文件夹里查看日志文件
有问题欢迎评论,觉得有帮助就点赞收藏吧!