新闻中心

EEPW首页 > 智能计算 > 业界动态 > 更简单、更聪明的X-CUBE-AI v7.1.0 轻松布署AI模型

更简单、更聪明的X-CUBE-AI v7.1.0 轻松布署AI模型

作者:时间:2022-09-12来源:CTIMES收藏

是意法半导体(简称M32生态系统中的AI扩充套件,可自动转换预先训练好的,并在用户的项目中产生M32优化函式库。

最新版本的 v7.1.0主要有三项更新:
‧ 支持入门级STM32 MCU;
‧ 支持最新AI架构;
‧ 改善使用者体验和效能调校。

ST持续提升STM32 AI生态系统的效能,且提供更多简单、易用的接口,并强化更多类神经网络中的运算,而且最重要的一点是:免费。在介绍 v7.1.0的三大更新之前,先了解一下X-CUBE-AI的主要用途。

X-CUBE-AI扩充套件是什么?
X-CUBE-AI扩充套件又称为「STM32Cube.AI」,其具备优化区块,并可为STM32 装置产生在准确度、内存占用空间和电源效率都最合适的模型。

图片.png
 
图一

模型拓扑优化器-Graph optimizer

自动透过简化 AI graph 以及量化运算等方式,使能在目标STM32硬件上获得最佳的运行效能。其中包含多种如graph rewrite、operator fusion、constant folding等的量化运算技术。

量化器

X-CUBE-AI扩充套件也支持FP32和Int8预先训练好的模型。开发人员可汇入经量化的类神经网络,使其兼容于STM32嵌入式架构,同时采用如文件详述的post-training quantization流程来维持准确度。在下一版本中,Int1、Int2和Int3也将纳入支援。一旦成功汇入模型,即可在PC和目标STM32硬件上验证

内存优化器

内存优化器是一项先进的内存管理工具,遵循嵌入式设计限制优化的内存配置,能达到最佳效能,而其智慧方式能在内部及外部资源间均衡配置内存,使其保有建立模型专属内存的可能性,让开发者能轻松更新模型。

最新版X-CUBE-AI v7.1.0将提供三项主要更新功能。

1.支持入门级STM32 MCU

为使边缘装置发挥全方位AI效能,X-CUBE-AI v7.1.0全面支持STM32 Arm Cortex-M0和 Arm Cortex-M0+的功能。今后,使用者将可在最小型的STM32微控制器中实作类神经网络。

开发人员不仅能在下列产品组合中找到各式用途的芯片, 甚至还能拥有具备AI功能的芯片。STM32适用范围甚广,从极低功耗、高效能系列MCU,一路涵盖至MPU。此外,如无线MCU等不同用途的芯片亦适用于AI应用。

图片.png
图二

2.支持最新AI架构

最新版本的X-CUBE-AI v7.1.0为广泛运用的深度学习架构带来诸多功能,如Keras与 TensorFlow? Lite,并将TFLite运行时间升级至2.7.0,而ONNX 升级至1.9。

图片.png 
图三

Keras是透过Tensorflow backend获得支持,而受支持的运算符可处理多种经典拓扑,能适用于行动装置或IoT资源受限的环境。例如:SqueezeNet、MobileNet V1、Inception和 SSD-MobileNet v1等。而X-CUBE-AI v7.1.0最高能支持到TF Keras 2.7.0。

Tensorflow Lite格式适用在行动平台上部署类神经网络模型。X-CUBE-AI可汇入并转换成采用flatbuffer技术的tflite档案。其也可处理多项运算符,包含量化模型和经由quantization aware training或post-training quantization产生的运算符。

X-CUBE-AI也支持其他可汇出为ONNX标准格式的架构,如PyTorch、Microsoft Cognitive Toolkit、MATLAB等。

对于各种不同的AI框架,ST仅支持部分神经层及神经层参数,其取决于网络C API的expressive power及专用toolbox的parser。

ST所提供之STM32Cube.AI runtime可达到最佳AI 应用程序执行效能,开发人员仍可选取 TensorFlow? Lite runtime作为替代方案,以在多个项目间发挥优势,但TensorFlow Lite runtime对STM32优化程度较低,可能会降低效能。

除深度学习架构以外,X-CUBE-AI亦可转换到知名开放原始码函式库,以及完备之Python机器学习架构「Scikit-learn」 中的机器学习算法,如随机森林、支持向量机(Support Vector Machine,SVM)、k-means分群以及k-nearest neighbors(k-NN)算法。开发人员可以建立多种监督式或非监督式机器学习算法,并利用简单有效的工具进行数据分析。

X-CUBE-AI v7.1.0不直接支持Scikit-learn的机器学习算法或XGBoost套件。在训练步骤完成后,这些算法应转换成ONNX格式以供部署及汇入,通常会使用skl2onnx公用程序,但亦可使用其他具有ONNX汇出工具的机器学习架构。不过,ONNX-ML模型汇入X-CUBE-AI的作业大致已采scikit-learn v0.23.1、skl2onnx v1.10.3和XGBoost v1.5.1进行测试。

3.改善使用者体验和效能调校

X-CUBE-AI v7.1.0推出多重堆积支持功能,开发人员只需点击几下按键,即可将不同的额外负载调配到分布式内存的区段上。


图片.png 
图四

在使用外部内存的支持下,开发人员可以轻易将weights划分至不同的内存区域。一旦模型储存于多重数组,即可映像内部闪存中的部分weights,并将剩余之内存分配于外部。此工具可让开发人员依模型要求和应用程序占用空间来使用non-contiguous的闪存区块。

图片.png 
图五

图形用户接口亦可提供全方位的视图,完整显示所产生编码中使用的缓冲区。选取模型后,开发人员即可查看可视化的统计数据,以了解整个系统的复杂度和占用空间。其可展示模型中的每个神经层,使开发人员轻易辨别出关键层。

图片.png 
图六

此工具有助于开发人员加快速度,并能更快在PC上验证模型以完成基准评测,以及在目标 STM32装置上量测最终效能。验证流程的最后将会产生比较表格,汇总原型及STM32模型之间的准确度和误差。X-CUBE-AI也会提供一份报告显示各层复杂度,以及在执行期间所测得的推算时间。

X-CUBE-AI仅是ST广泛生态系的其中一环,其旨在让STM32用户充分发挥人工智能的效益。X-CUBE-AI则是确保长期支持及高质量开发的可靠度。每次推出重大新版本,最新 AI 架构兼容性均会定期更新。

本文引用地址:http://www.eepw.com.cn/article/202209/438101.htm


关键词: ST X-CUBE-AI AI模型

评论


相关推荐

技术专区

关闭