人工智能入门05-华为昇腾实习笔记-初识ModelArts、一键完成商超商品识别模型部署
人工智能入门 - 05 - 华为昇腾实习笔记 - ModelArts
5.24学习:
- 学习“文档首页> AI开发平台ModelArts> 准备工作”
- -注册华为云账号、登录ModelArts控制台、配置权限
- -创建obs桶、体验免费资源
- 学习“文档首页> AI开发平台ModelArts> 快速入门”
- 完成实践《免费体验:一键完成商超商品识别模型部署》
本教程博主开始实践ModelArts,体验到最简单的ModelArts订阅模型部署的流程。
创建obs桶、体验免费资源
前提条件:
1、先注册华为云账号开通华为云注册华为账号并开通华为云_账号中心 (huaweicloud.com);
2、实名认证实名认证介绍_账号中心 (huaweicloud.com);
3、根据官网还有一个”配置访问授权“,这个暂时可以不管,等用到了再说。
ModelArts使用对象存储服务(Object Storage Service,OBS)进行数据存储以及模型的备份和快照等。在使用ModelArts之前先创建一个OBS桶(bucket),然后在OBS桶中创建文件夹用于存放数据。
对象存储服务OBS的基本组成是桶和对象。桶是OBS中存储对象的容器,每个桶都有自己的存储类别、访问权限、所属区域等属性,用户在互联网上通过桶的访问域名url来定位桶。对象是OBS中数据存储的基本单位。
对ModelArts来说,OBS服务是一个数据存储中心,因为ModelArts本身目前没有数据存储功能。AI开发过程中的输入数据、输出数据、中间缓存数据都可以在OBS桶中进行存储、读取。
创建桶和其他厂家的OBS类似,我这里选择了”北京四“,因为仅在“华北-北京四”区域提供了免费规格。对不明白的选项旁边都有”?“可以查看解释。创建桶时要命名,需要想一个唯一的桶名,要不然会提示错误。此时的单位是桶。

之后新建一个文件夹,我命名为test。此时的可以上传任何东西作为OBS的最小存储单位对象。

ModelArts服务提供的计算资源主要包括公共资源和专属资源:
1、公共资源池:公共资源池提供公共的大规模计算集群,根据用户作业参数分配使用,资源按作业隔离。按资源规格、使用时长及实例数计费,不区分任务(训练作业、部署、开发)。公共资源池是ModelArts默认提供,不需另行创建或配置。
2、专属资源池:提供独享的计算资源,可用于Workflow、自动学习、开发环境、训练作业、部署模型。专属资源池不与其他用户共享,更加高效。需要单独创建和配置。
在ModelArts的公共资源池中,提供了免费的资源规格,可以免费体验Workflow、自动学习、开发环境、训练管理、部署上线功能。
免费体验:一键完成商超商品识别模型部署
实验目的:初次熟悉ModelArts部署模型的流程。
模型功能:“商超商品识别”模型可以识别81类常见超市商品(包括蔬菜、水果和饮品),并给出置信度最高的5类商品的置信度得分。
整体的流程分为:前期准备-订阅模型-在线部署-预测结果-清理资源。
前期准备
刚刚没做的委托授权认证现在要做了:ModelArts在这个任务过程中涉及到OBS、容器镜像服务SWR、智能边缘平台IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。
进入ModelArts管理控制台,在左侧导航栏单击“全局配置”,进入“全局配置”页面,单击“添加授权”。

在“访问授权”页面,选择“授权对象类型”为”所有用户“(授权所有用户,会将委托的权限授权到当前账号下所有子账号,包括未来创建的子账号,授权范围较大,请谨慎使用。),选择”新增委托“及其对应的权限“普通用户”,并勾选“我已经详细阅读”,然后单击“创建”。
tips:在”权限类型“中我们给”所有用户“赋予了基础的”普通用户“权限,包括数据访问、创建任务和管理等,对以后也方便,如果有用户需要更好的权限或者更低的权限,我们再单独设置。

完成配置后,在ModelArts控制台的全局配置列表,可查看到此账号所有的委托配置信息。
订阅模型
“商超商品识别”的模型共享在AI Gallery中,我们进入链接商超商品识别 (huaweicloud.com)完成模型的订阅,订阅实际上就是”我要这盘菜“的意思。

订阅完后,可以在页面中直接进入”控制台“,记得此时选择我们的“北京四”。

会直接跳转到”AI应用“的页面,此时我的上面弹出了如图所示的提示框,这是因为我刚刚委托还没有授权,进入之后根据提示选择刚刚创建的”委托“,”授权“即可。
点击蓝色的“商超商品识别”名称,可以进入这个模型的详情页。
勾选名称左侧的⭕,可以在下面看到“√ 就绪”的状态,说明这个模型此时可以使用。
在线部署
然后我们点击“部署”,在弹出的框中选择“在线服务”,这是要把模型部署为在线服务。
进入部署页面,”名称“填入想要的名称,也可以使用默认值。

“资源池”:选择“公共资源池”。
“AI应用来源”和“选择AI应用及版本”:会自动选择订阅模型。
“计算节点规格”:在下拉框中选择“限时免费”资源,勾选”我已阅读“,最后选择”下一步“。
在弹出的确认页面中再次确认自己选择的各种配置资源,再次确认后即可看到”提交成功“。

可以点击”查看服务详情“门进入模型的状态监控页面。这里会实时显示运行的状态和各种事件。等待状态变成”√ 运行中“字样,说明模型已经成功部署为在线服务。

预测结果
在ModelArts控制台左侧列表找到”部署上线“-”在线服务“,可以看到我们刚刚部署的模型,单击“预测”按钮,我们开始用训练好的模型进行预测任务。
也可以在刚刚的”模型的状态监控页面“,找到”事件“旁边几个的”预测“标签。

我们点击上传,浏览本地的水果图片,这里给一个官方的图片,再给几个我的图片,大家也可以找自己的图片来预测,点击查看81个支持的种类,下面是部分种类。
Class Name (str) | Class ID (int) | Coarse Class Name (str) | Coarse Class ID (int) | Iconic Image Path (str) |
---|---|---|---|---|
Golden-Delicious | 0 | Apple | 0 | /iconic-images-and-descriptions/Fruit/Apple/Golden-Delicious/Golden-Delicious_Iconic.jpg |
Avocado | 5 | Avocado | 1 | /iconic-images-and-descriptions/Fruit/Avocado/Avocado_Iconic.jpg |
Banana | 6 | Banana | 2 | /iconic-images-and-descriptions/Fruit/Banana/Banana_Iconic.jpg |
Kiwi | 7 | Kiwi | 3 | /iconic-images-and-descriptions/Fruit/Kiwi/Kiwi_Iconic.jpg |
Lemon | 8 | Lemon | 4 | /iconic-images-and-descriptions/Fruit/Lemon/Lemon_Iconic.jpg |
Lime | 9 | Lime | 5 | /iconic-images-and-descriptions/Fruit/Lime/Lime_Iconic.jpg |
Mango | 10 | Mango | 6 | /iconic-images-and-descriptions/Fruit/Mango/Mango_Iconic.jpg |
Cantaloupe | 11 | Melon | 7 | /iconic-images-and-descriptions/Fruit/Melon/Cantaloupe/Cantaloupe_Iconic.jpg |
Nectarine | 15 | Nectarine | 8 | /iconic-images-and-descriptions/Fruit/Nectarine/Nectarine_Iconic.jpg |



上传后点击预测可以看到预测结果,在可能的五个项目中,”orange“取得了最高的得分。
如果是商品库里的东西,识别率还是可以的,但是对于其他东西,比如我给的草莓就识别不出来。
清理资源
体验结束后,建议暂停或删除服务,避免占用资源,造成资源浪费。
停止在线服务:在“在线服务”列表,单击对应服务操作列的“更多 > 停止”。(停止服务需要一定时间)
删除在线服务:在“在线服务”列表,单击对应服务操作列的“更多 > 删除”。

小结
这个案例让我熟悉了在ModelArts上部署模型的最简单流程,体验到了ModelArts平台训练推理零代码的便捷。
在商场购物时,我们会遇到能自动识别商品的称重台,都是苹果甚至种类也可以分的很清楚,这就是背后的技术。
这是一个分类模型,把这个模型部署为在线的服务后,我们就可以采用以下方法远程调用这个服务,连接我们的程序和设备,提取出来预测的结果:
1、使用Curl命令发送预测请求;
2、使用Postman等图像界面,发送API调用请求;
3、使用Python脚本命令,构造API调用请求。