0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

X-CUBE-AI v7.1.0的三大更新内容

意法半导体中国 来源:意法半导体中国 作者:意法半导体中国 2022-05-09 16:17 次阅读

X-CUBE-AISTM32生态系统中的AI扩展包。可自动转换预训练的人工智能模型,并在用户项目中生成STM32优化库。

最新版的X-CUBE-AI v7.1.0在以下方面进行了三大更新:

支持入门级STM32 MCU

支持最新的AI训练框架

改善用户体验和性能调节。

我们通过提供更多用户友好的界面,不断增强STM32 AI生态系统的功能,并加强了神经网络计算中的更多操作。最重要的是,该扩展包由我们免费提供。

在介绍X-CUBE-AI v7.1.0的三大更新内容之前,我们先回顾一下X-CUBE-AI的主要用途。

什么是X-CUBE-AI扩展包

X-CUBE-AI扩展包,也称STM32Cube.AI,装配优化模块,确保从精度、内存占用和电源效率方面为目标STM32生成最佳拟合模型。

0c4c87de-c687-11ec-bce3-dac502259ad0.png

图形优化器通过有利于STM32目标硬件架构的图形简化和优化自动提高性能。使用了几种优化技术,如计算图重组、算子融合、常数折叠等。

量化器X-CUBE-AI扩展包支持FP32和Int8预训练模型。开发人员可以导入量化神经网络以兼容STM32嵌入式架构,同时通过采用文档中详述的训练后量化过程来保持性能。在下一个版本中,还将考虑Int1、Int2和Int3。成功导入模型后,可在桌面和目标STM32硬件上验证代码。

内存优化器内存优化器是一种高级内存管理工具。优化内存分配以获得最佳性能,同时符合嵌入式设计的要求。可在内部和外部资源之间实现内存分配的智能平衡,还可以为模型创建专用内存。开发人员可以轻松地更新模型。

X-CUBE-AI v7.1.0的三大更新

在最新版本的X-CUBE-AI v7.1.0中,我们进行了三大更新。

支持入门级STM32 MCU为了让您的边缘设备在各个层面都支持AI,我们使X-CUBE-AI v7.1.0实现了对STM32 Arm Cortex-M0和Arm Cortex-M0+的全面支持。从现在起,用户可以将神经网络带至最小的STM32微控制器上。

开发人员不仅可以在以下产品组合中找到用于各种用途的匹配芯片,还可以拥有一款具有AI启发性的芯片。STM32的频谱范围从超低功耗到高性能系列和微处理器,均包含在内。无线MCU等不同用途也适合AI应用。

0c716158-c687-11ec-bce3-dac502259ad0.png

支持最新的AI框架最新版本的X-CUBE-AI v7.1.0在Keras和TensorFlow等广泛使用的深度学习框架中添加了多种功能,并将TFLite runtime升级至2.7.0,将ONNX升级至1.9。

0c93498a-c687-11ec-bce3-dac502259ad0.png

Keras通过Tensorflow得到支持,支持的算子允许处理针对移动或物联网资源受限的运行时环境的大量经典拓扑。例如,SqueezeNet、MobileNet V1或V2、Inception、SSD MobileNet V1等。在X-CUBE-AI v7.1.0中最高可支持TF Keras 2.7.0。

Tensorflow Lite是在移动平台上部署神经网络模型的格式。X-CUBE-AI导入并转换基于flatbuffer技术的tflite文件。处理多个算子,包括量化模型和量化感知训练或训练后量化过程生成的算子。

对于其他可以导出为ONNX标准格式的框架,如PyTorch、Microsoft Cognitive Toolkit、MATLAB等,X-CUBE-AI同样支持。

每个AI框架我们只支持所有可能层和层参数子集,这取决于网络C API的表达能力和特定工具箱的解析器

我们提供STM32Cube.AI运行时,以便在执行AI应用程序时获得最佳性能。但是,开发人员可以选择TensorFlow Lite运行时作为一种替代方案,在多个项目中发挥作用。即使可能会降低性能,因为运行时针对STM32的优化程度较低。

除了深度学习框架外,X-CUBE-AI还涵盖了来自著名开源库scikit-learn的机器学习算法,这是一个完整的Python机器学习框架,如:随机森林、支持向量机(SVM)、k-means聚类和k最近邻(k-NN)。开发人员可以构建大量有监督或无监督的机器学习算法,并利用简单高效的工具进行数据分析。

X-CUBE-AI v7.1.0不直接支持来自scikit-learn框架或XGBoost包的机器学习算法。在完成训练步骤后,这些算法应转换为ONNX格式,以便部署和导入。skl2onnx实用程序通常用于将模型转换为ONNX格式。可以使用带有ONNX导出器的其他ML框架,但请注意,X-CUBE-AI中ONNX-ML模型的导入主要使用 scikit-learn v0.23.1、skl2onnx v1.10.3和XGBoost v1.5.1进行测试。

改善用户体验和性能调节X-CUBE-AI v7.1.0引入了多堆支持,开发人员只需单击即可轻松地将不同内容分配到碎片化的内存段上。

0cab7866-c687-11ec-bce3-dac502259ad0.png

通过使用外部内存支持,开发人员可以轻松地在不同的内存区域分配权重。一旦模型存储在多个数组中,便可将部分权重映射到内部闪存,而其余的则映射到外部闪存。该工具使开发人员可以根据模型要求和应用程序内存占用使用非连续闪存区。

0cd0d3b8-c687-11ec-bce3-dac502259ad0.png

图形用户界面还提供了生成代码中使用的缓冲区的全面视图。一旦选择了模型,开发人员就可以通过直观地检查统计数据来评估整体复杂性和内存占用。模型中的每一层都清晰可见,开发人员可以轻松识别关键层。

0d02fd34-c687-11ec-bce3-dac502259ad0.png

该工具可帮助开发人员加快速度,使我们能够在桌面上验证模型,进行快速基准测试并检测目标STM32设备的最终性能。

验证过程结束时,对比表总结了原始模型和STM32模型之间的准确性和误差。X-CUBE-AI还提供了每层的计算复杂度报告,以及运行时测量的推断时间。

X-CUBE-AI只是意法半导体为STM32用户利用人工智能提供的广泛生态系统的一部分。使用X-CUBE-AI可确保高质量开发的长期支持和可靠性。每次推出新的主要版本时,都会有针对性地定期更新,确保兼容最新AI框架。敬请关注我们为您带来的更多有趣技术。

我们将策划一系列AI主题文章,详细介绍意法半导体在Deep Edge AI领域的努力成果。

本文是该系列文章中的第十一篇,点击上方的话题,订阅我们的AI技术专题系列 。

欢迎您在文后积极留言,告诉我们想了解意法半导体AI的哪些方面,我们将为您呈现更多精彩内容。

原文标题:AI技术专题之十一:更简便、更智能的X-CUBE-AI v7.1.0,让您轻松部署AI模型

文章出处:【微信公众号:意法半导体中国】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2266

    文章

    10871

    浏览量

    354787
  • 意法半导体
    +关注

    关注

    31

    文章

    3106

    浏览量

    108521
  • AI
    AI
    +关注

    关注

    87

    文章

    30106

    浏览量

    268399

原文标题:AI技术专题之十一:更简便、更智能的X-CUBE-AI v7.1.0,让您轻松部署AI模型

文章出处:【微信号:STMChina,微信公众号:意法半导体中国】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在STM32f4系列开发板上部署STM32Cube.AI

    已下载STM32Cube.AI扩展包,但是无法使用,感觉像是没有部署AI模型,我是想要通过摄像头拍照,上传图像后,经过开发板处理器进行AI模型处理识别过后,告诉我识别结果,显示在TFLCD屏幕上
    发表于 11-18 09:39

    被称为“小号HBM”,华邦电子CUBE进阶边缘AI存储

    ,分享了华邦推出的CUBE产品在边缘AI上的应用优势以及对存储应用市场的看法等话题。   CUBE :小号HBM   “华邦电子近两三年都在推CUBE产品,我们可以把
    的头像 发表于 07-01 16:21 2901次阅读

    CubeIDE生成的代码框架会卡在MX_X_CUBE_AI_Process()函数中是怎么回事?

    当我将网络模型部署到STM32F407VGT6中时,CubeIDE生成的代码框架会卡在MX_X_CUBE_AI_Process()函数中是怎么回事?CUbeAI库的版本是9.0。期待您的回复,谢谢
    发表于 05-30 06:11

    STM CUBE AI错误导入onnx模型报错的原因?

    使用cube-AI分析模型时报错,该模型是pytorch的cnn转化成onnx ``` Neural Network Tools for STM32AI v1.7.0 (STM.ai
    发表于 05-27 07:15

    stm32cube更新后无法安装固件包的原因?

    stm32cube更新后无法安装固件包
    发表于 04-17 07:42

    扩展包x-cube-ai能实现SVM支持向量机吗?

    扩展包x-cube-ai能实现SVM支持向量机嘛
    发表于 03-22 07:26

    cubeMX在加入cube-ai分析模型时提示下载GNU tools for STM32卡死如何解决?

    在使用cube-ai时,会弹出对话框,并一致卡死在0%,尝试手动安装GNU工具也无效。请问该如何解决?
    发表于 03-21 07:42

    STM32H750可以使用Cube.AI吗?

    STM32H750,可以使用Cube.AI
    发表于 03-19 06:14

    cube AI导入Keras模型出错怎么解决?

    我尝试过cube AI的version7.1.0、6.0.0、5.1.2、4.1.0,导入Keras都是这个报错,求解答 E010(InvalidModelError): Couldn&
    发表于 03-18 06:39

    使用cube-AI分析模型时报错的原因有哪些?

    使用cube-AI分析模型时报错,该模型是pytorch的cnn转化成onnx ``` Neural Network Tools for STM32AI v1.7.0 (STM.ai
    发表于 03-14 07:09

    ai_reloc_network.h引入后,ai_datatypes_format.h和formats_list.h报错的原因?

    \"}\" 更换了x-cube-ai个版本的库(7.3.0/8.0.0/8.0.1),报错都一样。 求教ST官方是如何解决这个问题的?
    发表于 03-14 06:23

    用STM32CubeMX导入神经网络,aiRun的indata应该定义成什么格式呢?

    我用STM32CubeMX中的X-Cube-AI, 导入了一个处理时间序列的神经网络,网络input是2维数据,如(10,256,2) 在Generate code之后,在main.c文件中,有一个aiRun函数,需要输入一个in_data,这里的in_data我应该定义成什么格式呢?
    发表于 03-13 07:38

    cube.ai带有的analyse功能要求下载GNU工具卡住了是怎么回事?

    cube.ai带有的analyse功能要求我下载GNU工具,但是卡住
    发表于 03-12 06:23

    cubeMX的扩展包x-cube-dpower怎么使用?

    x-cube-dpower是新出的一个数字电源扩展包,目前已更新到1.0.2。该如何使用??如果必需配合官方的开发板使用,该如何修改才能更适合用户自己的应用??
    发表于 03-08 06:24

    【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台

    :Arm版和RISC-V版 USB鼠标 蓝牙键盘 积木版屏幕支架 另外,还有USB摄像头,没有在上面一起列出。 此外,在项目中用到的模块配件,在后续更新中,会陆续更新上来。 、开机
    发表于 02-01 00:20