账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
更简单、更聪明的X-CUBE-AI v7.1.0 轻松布署AI模型
 

【作者: 意法半導體】2022年08月30日 星期二

浏览人次:【4302】

X-CUBE-AI是意法半导体(简称ST)STM32生态系统中的AI扩充套件,可自动转换预先训练好的AI模型,并在使用者的专案中产生STM32优化函式库。


最新版本的X-CUBE-AI v7.1.0主要有三项更新:


· 支援入门级STM32 MCU;


· 支援最新AI架构;


· 改善使用者体验和效能调校。


ST持续提升STM32 AI生态系统的效能,且提供更多简单、易用的介面,并强化更多类神经网路中的运算,而且最重要的一点是:免费。


在介绍X-CUBE-AI v7.1.0的三大更新之前,先了解一下X-CUBE-AI的主要用途。


X-CUBE-AI扩充套件是什麽?

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



图一
图一

模型拓扑优化器━Graph optimizer


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


量化器


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


记忆体优化器


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


最新版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应用。



图二
图二

2.支援最新AI架构


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



图三
图三

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推出多重堆积支援功能,开发人员只需点击几下按键,即可将不同的额外负载调配到分散式记忆体的区段上。



图四
图四

在使用外部记忆体的支援下,开发人员可以轻易将weights划分至不同的记忆体区域。一旦模型储存於多重阵列,即可映射内部快闪记忆体中的部分weights,并将剩馀之记忆体分配於外部。此工具可让开发人员依模型要求和应用程式占用空间来使用non-contiguous的快闪记忆体区块。



图五
图五

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



图六
图六

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


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


相关文章
221e:从AI驱动感测器模组Muse获得的启发
2024年嵌入式系统的三大重要趋势
智慧家居大步走 Matter实现更好体验与可靠连结
开启边缘智能新时代 ST引领AI开发潮流
模拟工具可预防各种车用情境中的严重问题
comments powered by Disqus
相关讨论
  相关新闻
» 贸泽电子2024年第一季度推出逾10,000项新元件
» 宜特2024年第一季合并营收突破10亿元 展现验证分析布局力道
» SAP加速AI驱动供应链创新 推动制造业转型
» 宇瞻迈入绿色显示市场 成功开发胆固醇液晶全彩电子纸
» 调研:2024年中国ADAS市场迈向Level 3自动驾驶


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84S58DHIESTACUKA
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw