【MindStudio训练营第一季】初探可视化AI应用开发

前言

MindStudio 是昇腾(Ascend) AI 生态中的全流程开发工具链,为开发者提供开发 AI 所需的一站式开发环境,支持模型开发算子开发以及应用开发三个主流程中的开发任务,依靠模型可视化、算力测试、IDE 本地仿真调试等功能。
昇腾 AI

图1. 昇腾 AI 全景

一、MindX SDK 简介

MindX SDK 是针对具体行业应用提出的 AI 开发套件。

1、逻辑架构

逻辑架构

图2. MindX SDK 逻辑架构

二、MindX SDK开发方式

MindX SDK 通过 Stream 配置文件,Stream manager 可识别需要构建的 Element,及它们的连接关系,并启动业务流程。Stream manager 对外提供接口,用于向 Stream 发送数据和获取结果,令用户实现业务对接。

2.1、MindX SDK开发方式中涉及的名词解释

(1)stream:代表业务流程,可以通过 stream 配置文件
(2)Plugin:表示业务流程的基础模块
(3)Element:为一定数量的 Plugin 组合体
(4)Buffer:Element 之间的数据传输载体,可挂载元数据(Metadata),存放结构化数据或过程数据
(3)Stream manager:stream 配置文件指导 Stream manager 调度 Element,并启动业务流程,并对外提供接口,用于向 Steam 发送数据和获取结果,令用户实现业务对接

2.2、个人理解

Plugin 是业务开发中不可分(或者说不需要细分)的最小功能单元,用来实现基本的运算,比如,图片获取,图片解码和图像缩放等,而这三个步骤又可以统称为图像预处理,那么此时 3 个 Plugin 的组合就可以称为 1 个 Element,通过steam 配置的文件,规定了 Element 的时序流,Stream manager 则是具体的执行单元,通过构建 Element 搭建业务流程。

2.3、拓展

MindX SDK 这样的可视化开发方式,不禁让人想起了 Mathworks 公司推出的一款产品,没错,就是 Simulink,虽然 Simulink 在 AI 领域、IT 领域的名气可能不大,但是在工业领域,包括汽车、航空、工业自动化、大型建模、复杂逻辑、物理逻辑、信号处理等方面,Simulink 是必备的开发工具,是很多大型公司或企业的首选,比如NASA、洛克希德·马丁等。
接触过 Simulink 的同学,应该很快就能发现,MindX SDK 中 Plugin 其实对应 Simulink 的 Block;Element 对应 Subsystem;Stream manager 构建的结果对应 System。System 由 Subsystem 组成,Subsystem 又由基础的 Block 组成。
stream 类似于 Simulink 中的 stateflow,规定了 ‘System’、‘Subsystem’ 等的行为,但是后者使用状态机与流程图构建决策逻辑,如果从构建时序流的角度考虑,steam 若仅包含时序流的话,两者又可认为是不同的。

2.4、容易混淆的地方

一开始看到 Plugin,就想到了 VSCode 的 Plugin,一样的同学举个手,后面介绍说可以自己写 Plugin,其实不是补充软件功能的 Plugin,而是业务流程中的功能单元。在命名这一点,个人觉得 Simulink 还是更加科学一点,注意区分就好。

三、MindX SDK 应用开发

开发流程如下:

2.1、创建代码目录

用于存放代码文件,编译脚本、数据、模型文件等

2.2、确定业务流程&寻找合适插件

(1)根据业务功能,如目标检测、图像分类、属性识别等,将业务流程模块化
(2)根据功能需求,选择对应的插件,若无,可以开发自定义插件

2.3、准备推理模型

对于开源框架的网络模型,不能直接在昇腾 AI 处理器上做推理,需要先使用 ATC(Ascend Tensor Compiler)工具将开源框架的网络模型转换为适配昇腾 AI 处理器的离线模型(以 ‘.om’ 为后缀的文件)。

2.4、插件开发(可选)

当现有插件不能满足需求时,可以自己开发插件。

2.5、流程编排

按照业务功能,组合插件,创建 Stream 配置文件。

2.6、业务集成

创建 Stream,并进行输入/输出数据对接。

2.7、编译运行

MindX SDK 支持C\C++、Python,MindStudio 支持编译、本地/远程、运行/调试,MindStudio 的风格和 Pycharm 类似。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mocia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值