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