首页 > 其他分享 >【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验

【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验

时间:2022-12-23 11:31:27浏览次数:60  
标签:插件 mxVision AI 模型 初体验 开发 使用 推理

一、前言

mxVision是MindX SDK软件开发套件的一个核心组件,其致力于简化昇腾 AI 处理器推理业务开发过程,降低使用昇腾AI处理器开发的门槛。主要功能如下:

  • 插件化开发模式,将整个推理流程“插件化”,每个插件提供一种功能,通过组装不同的插件,灵活适配推理业务流程。
  • 提供丰富的插件库,用户可根据业务需求组合 Jpeg 解码、抠图、缩放、模型推理、数据序列化等插件。
  • 基于 Ascend Computing Language(AscendCL),提供常用功能的高级API,如模型推理、编解码、预处理等,简化ACL编程开发。
  • 支持自定义插件开发,用户可快速地将自己的业务逻辑封装成插件,打造自己的应用插件。

这里我们主要体验一下使用mxVision的流程编排功能(Pipeline)实现可视化AI推理应用开发。

我们选择应用案例中的口罩识别项目:

mindxsdk-referenceapps: MindX SDK Reference Apps - Gitee.com

二、编辑Pipeline

使用Pipeline插件化开发模式,将整个推理流程“插件化”,每个插件提供一种功能,通过组装不同的插件,灵活适配推理业务流程。我们在工程中新建一个test.pipeline文件: 1.png 在input、output和other栏中,我们可以看到许许多多的插件,它们都有对应的一个功能,我们将使用这些插件来实现业务逻辑,我们可以从左侧插件栏拖出想要的插件到编辑区,并自由地连接它们。

根据项目README文件中的业务逻辑,此项目的推理逻辑如图所示: 2.png

1、图像输入

使用appsrc插件输入,参数为默认值。 3.png

blocksize:每个buffer读取的大小(以字节为单位),默认值为4096。

2、图像前处理

使用mxpi_imagedecoder插件对图像进行解码,参数为默认值。 4.png

deviceId:Ascend设备的芯片编号

status:异步

imageFormat:解码图像的格式

cvProcessor:使用Ascend或者Opencv

outputDataFormat:解码后数据的格式

dataType:解码数据的类型

formatAdaptation:是否进行色域转换

使用mxpi_imageresize插件对图像进行缩放成256*256,参数如图: 5.png

重点关注resizeHeight和resizeWidth即可,这里我们都设置成256。

3、模型推理

使用mxpi_tensorinfer插件进行模型推理,参数如图: 6.png 设置modelPath模型路径即可,其他参数默认,注意模型需是om格式,可以先使用ATC工具将模型转成om离线模型格式。

4、输出推理

使用mxpi_dataserialize插件输出推理结果,将结果组装成json字符串输出,参数如图。 7.png outputDataKeys:指定需要输出的数据的索引,(通常情况下为元件名称),我们输入上一个插件的名字mxpi_tensorinfer。

5、输出图像

使用appsink插件输出图像,参数为默认值。 8.png

6、编排Pipeline

进行最终Pipeline编排,连接各个插件,效果图如下: 9.png

具体各插件的功能与使用可以查看官方文档:

插件总体介绍-已有插件介绍-mxVision 用户指南-智能视频分析-3.0.RC3-MindX SDK-文档首页-昇腾社区 (hiascend.com)

三、运行image.py

打开image.py脚本,修改pipeline的路径为刚刚所配置的test: 10.png 设置测试的图片的路径: 11.png 运行成功! 12.png

13.png

四、总结

使用mxVision套件的pipeline功能,我们可以可视化的编辑AI推理应用的逻辑,插件化开发模式,将整个推理流程“插件化”,每个插件提供一种功能,通过组装不同的插件,灵活适配推理业务流程,从而实现可视化推理应用开发,降低了AI开发的门槛。其实,MindX SDK还有其他三个核心组件针对不同的应用场景:制造质检mxManufacture、检索聚类mxIndex和大模型微调套件mxTuningKit。感兴趣的小伙伴值得一试~

标签:插件,mxVision,AI,模型,初体验,开发,使用,推理
From: https://blog.51cto.com/u_15916909/5965295

相关文章