人工智能入门 - 05 - 华为昇腾实习笔记 - ModelArts

  5.24学习:

本教程博主开始实践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类似,我这里选择了”北京四“,因为仅在“华北-北京四”区域提供了免费规格。对不明白的选项旁边都有”?“可以查看解释。创建桶时要命名,需要想一个唯一的桶名,要不然会提示错误。此时的单位是

f2aa6b3112d755523673f5cd5638743

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

73a3b309ee3161a29c32291b321d7fe

  ModelArts服务提供的计算资源主要包括公共资源专属资源

  1、公共资源池:公共资源池提供公共的大规模计算集群,根据用户作业参数分配使用,资源按作业隔离。按资源规格、使用时长及实例数计费,不区分任务(训练作业、部署、开发)。公共资源池是ModelArts默认提供,不需另行创建或配置

  2、专属资源池:提供独享的计算资源,可用于Workflow、自动学习、开发环境、训练作业、部署模型。专属资源池不与其他用户共享,更加高效。需要单独创建和配置

  在ModelArts的公共资源池中,提供了免费的资源规格,可以免费体验Workflow自动学习开发环境训练管理部署上线功能。

免费体验:一键完成商超商品识别模型部署

  实验目的:初次熟悉ModelArts部署模型的流程。

  模型功能:“商超商品识别”模型可以识别81类常见超市商品(包括蔬菜、水果和饮品),并给出置信度最高的5类商品的置信度得分。

  整体的流程分为:前期准备-订阅模型-在线部署-预测结果-清理资源

前期准备

  刚刚没做的委托授权认证现在要做了:ModelArts在这个任务过程中涉及到OBS、容器镜像服务SWR、智能边缘平台IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。

  进入ModelArts管理控制台,在左侧导航栏单击“全局配置”,进入“全局配置”页面,单击“添加授权”。

ff35143be345255754ec8997f1767ca

  在“访问授权”页面,选择“授权对象类型”为”所有用户“(授权所有用户,会将委托的权限授权到当前账号下所有子账号,包括未来创建的子账号,授权范围较大,请谨慎使用。),选择”新增委托“及其对应的权限“普通用户”,并勾选“我已经详细阅读”,然后单击“创建”。

 tips:在”权限类型“中我们给”所有用户“赋予了基础的”普通用户“权限,包括数据访问、创建任务和管理等,对以后也方便,如果有用户需要更好的权限或者更低的权限,我们再单独设置。

49571a895b06827aac25dfd3753c405

  完成配置后,在ModelArts控制台的全局配置列表,可查看到此账号所有的委托配置信息。

订阅模型

  “商超商品识别”的模型共享在AI Gallery中,我们进入链接商超商品识别 (huaweicloud.com)完成模型的订阅,订阅实际上就是”我要这盘菜“的意思。

8c7360fe55a452518642cf90a5f892f

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

bfb56ffbf7f6cc1a65da209f9ce108c

  会直接跳转到”AI应用“的页面,此时我的上面弹出了如图所示的提示框,这是因为我刚刚委托还没有授权,进入之后根据提示选择刚刚创建的”委托“,”授权“即可。

824d7961c853a2e4ef320865b7a5cbb

  点击蓝色的“商超商品识别”名称,可以进入这个模型的详情页。

  勾选名称左侧的⭕,可以在下面看到“√ 就绪”的状态,说明这个模型此时可以使用。

在线部署

  然后我们点击“部署”,在弹出的框中选择“在线服务”,这是要把模型部署为在线服务。

  进入部署页面,”名称“填入想要的名称,也可以使用默认值。

20f69022fd84d85d6d232b00f721981

  “资源池”:选择“公共资源池”。

  “AI应用来源”“选择AI应用及版本”:会自动选择订阅模型。

  “计算节点规格”:在下拉框中选择“限时免费”资源,勾选”我已阅读“,最后选择”下一步“。

  在弹出的确认页面中再次确认自己选择的各种配置资源,再次确认后即可看到”提交成功“。

b7055d82d08e9c85bf372fe8126b6d5

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

3e8d03cbbc5a698030a9406fd285143

预测结果

  在ModelArts控制台左侧列表找到”部署上线“-”在线服务“,可以看到我们刚刚部署的模型,单击“预测”按钮,我们开始用训练好的模型进行预测任务。

  也可以在刚刚的”模型的状态监控页面“,找到”事件“旁边几个的”预测“标签。

3ce4221d5351bc478334dbfa0d913db

  我们点击上传,浏览本地的水果图片,这里给一个官方的图片,再给几个我的图片,大家也可以找自己的图片来预测,点击查看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
img c8026b3c132ce1e30d39d1b1931d85f f8b47e09a1e83be06355bc202424afb

  上传后点击预测可以看到预测结果,在可能的五个项目中,”orange“取得了最高的得分。

00043fe84d5f596e31252ac8054832dcc908b61e05f90c8eefdb2a69c13487  

  如果是商品库里的东西,识别率还是可以的,但是对于其他东西,比如我给的草莓就识别不出来。

清理资源

  体验结束后,建议暂停或删除服务,避免占用资源,造成资源浪费。

  停止在线服务:在“在线服务”列表,单击对应服务操作列的“更多 > 停止”。(停止服务需要一定时间)

  删除在线服务:在“在线服务”列表,单击对应服务操作列的“更多 > 删除”。

e033cb73c16d4dc84b504ad6fd0023b

小结

  这个案例让我熟悉了在ModelArts上部署模型的最简单流程,体验到了ModelArts平台训练推理零代码的便捷。

  在商场购物时,我们会遇到能自动识别商品的称重台,都是苹果甚至种类也可以分的很清楚,这就是背后的技术。

  这是一个分类模型,把这个模型部署为在线的服务后,我们就可以采用以下方法远程调用这个服务,连接我们的程序和设备,提取出来预测的结果:

  1、使用Curl命令发送预测请求;

  2、使用Postman等图像界面,发送API调用请求;

  3、使用Python脚本命令,构造API调用请求。