AI初学者:使用订阅算法构建模型实现花卉识别
ModelArts在AI Gallery中提供了适用于“物体检测”、“图像分类”和“文本分类”等场景的算法、数据、模型等。
本案例以“ResNet_v1_50”算法、花卉识别数据集为例,指导如何从AI Gallery订阅数据和算法,然后使用算法创建训练模型,将所得的模型部署为在线服务。其他算法操作步骤类似,可参考“ResNet_v1_50”算法操作。

费用说明:本案例使用过程中,从AIGallery下载数据集和订阅算法免费,在ModelArts上运行训练作业推荐使用免费资源,将模型部署为在线服务推荐使用免费资源。但是数据集存储在OBS桶中会收取少量费用,具体计费请参见OBS价格详情页,案例使用完成后请及时清除资源和数据。
准备工作
- 注册华为云帐号、实名认证
- 配置委托访问授权ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。
- 使用华为云帐号登录ModelArts管理控制台,在左侧导航栏单击“全局配置”,进入“全局配置”页面,单击“添加授权”。
- 在“访问授权”页面,选择需要授权的“用户名”,选择新增委托及其对应的权限“普通用户”,并勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。图1 配置委托访问授权
- 完成配置后,在ModelArts控制台的全局配置列表,可查看到此帐号的委托配置信息。图2 查看委托配置信息
- 入驻AI Gallery首次在AI Gallery中使用AI资产,需要先完成入驻AI Gallery。
- 进入AI Gallery,在“资产集市 > 算法”页面上单击“发布”按钮,将跳转至“欢迎入驻AI Gallery”页面。单击“入驻”跳转至“欢迎入驻AI Gallery”页面。图3 入驻AI Gallery
- 在“欢迎入驻AI Gallery”,填写“昵称”和“邮箱”,并根据提示获取验证码。阅读并同意《华为云AI Gallery数字内容发布协议》和《华为云AI Gallery服务协议》后,单击“确定”完成入驻。图4 完成入驻
- 进入AI Gallery,在“资产集市 > 算法”页面上单击“发布”按钮,将跳转至“欢迎入驻AI Gallery”页面。单击“入驻”跳转至“欢迎入驻AI Gallery”页面。
步骤1:准备训练数据
- 单击案例链接四类花卉图像分类小数据集,进入案例详情页。
- 单击“下载”跳转至下载页面详情页。图5 下载数据集
- 在下载详情页,填写参数。
- 下载方式:选择“对象存储服务(OBS)”
- 目标区域:选择“华北-北京四”
- 目标位置:请选择一个空的OBS目录,本示例为“/test-modelartsz/dataset-flower/”图6 下载至OBS
此处从AIGallery下载并使用数据集是限时免费的,但数据集存储在OBS,从OBS中读取数据需要根据OBS的计费原则收费。
- 确认无误后,单击确定。页面自动跳转到“个人中心>我的数据>我的下载”页面,请耐心等待,预计5分钟左右。
- 下载完成后,您可以单击目标位置跳转至OBS桶中查看是否存在已下载的数据。
步骤2:订阅算法
目前“图像分类-ResNet_v1_50”算法发布在AI Gallery中。您可以前往AI Gallery,订阅此模型,然后同步至ModelArts中。
- 在ModelArts管理控制台中,在左侧菜单栏中选择“AI Gallery”,进入AI Gallery。
- 在AI Gallery中,选择“资产集市>算法”页签,在搜索框中输入“图像分类-ResNet_v1_50”,查找对应的算法。请选择支持CPU、GPU训练的算法。
- 单击算法链接进入算法详情页,单击右侧的“订阅”,根据界面提示完成算法订阅。
此算法由ModelArts官方提供,目前免费开放。订阅算法完成后,页面的“订阅”按钮显示为“已订阅”。
- 单击详情页的“前往控制台”,此时弹出“选择云服务区域”对话框,选择ModelArts对应的区域,然后再单击“确定”,
页面将自动跳转至ModelArts的“算法管理>我的订阅”中同步对应的算法。
此处选择的云服务区域必须和数据集存放的区域保持一致,否则会找不到数据集,本示例中都是华北-北京四。
图7 前往控制台图8 选择云服务区域 - 在ModelArts管理控制台的算法管理页面,算法将自动同步至ModelArts中。
步骤3:使用订阅算法创建训练作业
算法订阅成功后,算法将呈现在“算法管理>我的订阅”中,您可以使用订阅的“图像分类-ResNet_v1_50”算法创建训练作业,获得模型。
- 进入“算法管理 > 我的订阅”页面,选择订阅的“图像分类-ResNet_v1_50”算法,单击左侧的小三角展开算法,在版本列表中,单击“创建训练作业”。图9 创建训练作业
- 在创建训练作业页面,参考如下说明填写关键参数。
- “算法>我的订阅”:系统默认选择订阅的算法,请勿随意修改。
- “训练输入”:选择数据存储位置,然后从弹出的窗口中选择步骤1:准备训练数据中下载好的数据dataset-flower。
- “训练输出”:选择一个OBS空目录存储训练输出的模型。例如:“test-modelartsz/output”
- “超参”:建议采用默认值。如需进行调优,可参考运行参数说明。
- “资源类型”:可以选择限时免费的GPU规格资源,如果希望训练效率更高,可以选择收费的GPU资源。
- “计算节点个数”:建议采用默认值1。图10 训练作业参数-训练输入/输出
- 参数填写完成后,单击“提交”,根据界面提示确认规格,单击“确定”,完成训练作业创建。
- 进入“训练管理 > 训练作业New”页面,等待训练作业完成。
训练作业运行需要几分钟时间,请耐心等待。根据经验,选择样例数据集,使用GPU资源运行,预计3分钟左右可完成。
当训练作业的状态变更为“已完成”时,表示已运行结束。
您可以单击训练作业名称,进入详情页面,了解训练作业的“配置信息”、“日志”、“资源占用情况”和“评估结果”等信息。您也可以在配置的“训练输出位置”对应的OBS目录下获得训练生成的模型。
步骤4:创建AI应用
- 在训练作业详情页的右上角单击“创建AI应用”,进入创建AI应用页面,图11 创建AI应用
也可以在ModelArts管理控制台,选择“AI应用管理 > AI应用”,在“我的AI应用”页面,单击“创建”,进入创建AI应用页面。
- 在创建AI应用页面,系统会自动根据上一步训练作业填写参数,参考如下说明确认关键参数。
“元模型来源”:系统自动选择“从训练中选择 >训练作业(New)”。
“选择训练作业”:系统自动选择上一步创建的训练作业。
“AI引擎”:系统自动写入该模型的AI引擎,无需修改。
“推理代码”:系统自动放置推理代码到OBS输出路径,无需修改。
“部署类型”:默认选择“在线部署”。图12 从训练中选择 - 参数填写完成后,单击“立即创建”。页面自动跳转至AI应用列表页面,等待创建结果,预计2分钟左右。
当AI应用的状态变为“正常”时,表示创建成功。
图13 模型导入成功
步骤5:部署为在线服务(CPU)
AI应用创建成功后,可将其部署为在线服务,在部署时可使用CPU资源。
- 在AI应用列表中,单击名称前面的
,在版本的操作列中单击“部署 > 在线服务”。
图14 部署模型 - 在部署页面,参考如下说明填写关键参数。
- “资源池”:选择“公共资源池”。
- “选择AI应用及版本”:AI应用来源及版本会自动选择前面创建的AI应用。
- “计算节点规格”:在下拉框中选择限时免费的CPU资源,若限时免费资源售罄,建议选择收费CPU资源进行部署。
- “计算节点个数”,默认设置为“1”,目前仅支持单机部署,只能设置为“1”,不可修改。
- 其他参数可使用默认值。
选择CPU资源部署模型会收取少量费用,具体费用以界面信息为准。
如果需要使用GPU资源部署上线,需要进入模型所在位置,即步骤3:使用订阅算法创建训练作业步骤生成的“训练输出”路径,进入“model”目录,打开并编辑“config.json”文件,将“runtime”的配置修改为ModelArts支持的GPU规格,例如"runtime": "tf1.13-python3.6-gpu"。修改完成后,重新执行导入模型和部署为在线服务的操作。
图15 部署模型 - 参数设置完成后,单击“下一步”,确认规格参数,单击提交,完成在线服务的部署。
- 您可以进入“部署上线 > 在线服务”页面,等待服务部署完成,当服务状态变为运行中时,表示服务部署成功。预计时长2分钟左右。图16 运行中的服务
- 在线服务部署完成后,您可以单击操作列的预测,进入服务详情页的“预测”页面。
- 在“预测”页签,单击“上传”,上传一个测试图片,进行预测。此处提供一个预测样例图供使用。图17 预测样例图图18 预测结果
