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

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

3天内不再提示

STM32Cube.AI将神经网络转换为STM32的优化代码

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-16 10:24 次阅读

STM32Cube.AI是业界最先进的工具包,能够与流行的深度学习库互操作,以转换任何用于 STM32 微控制器的人工神经网络MCU)运行优化推理。该软件套件包括 X-Cube 扩展软件X-CUBE-AI 、为我们的SensorTile 开发套件 (STEVAL-STLKT01V1)提供应用示例的功能包FP-AI-SENSING1,以及对我们的ST BLE 传感器的更新为功能包的演示提供 GUI 和控件的 iOSAndroid 应用程序。仅发布这些解决方案已经是一个开创性的公告,因为目前没有任何工具可以与此功能集相媲美。然而,STM32Cube.AI 不仅仅是一个简单的工具包,而是反映了我们希望通过将神经网络带给所有 STM32 开发人员来改变物联网格局的愿望。

倾向于专门研究使用我们 STM32 MCU 的嵌入式系统类型的人可能不熟悉神经网络的最新进展。同样,使用几乎无限的云资源进行机器学习的数据科学家可能对嵌入式平台的内存和计算限制不熟悉。因此,STM32Cube.AI 通过揭开人工智能和嵌入式系统的神秘面纱弥合了差距。我们展示了专家和工具随时可用,并且很容易利用边缘计算的日益普及在我们的平台上运行推理。换句话说,STM32Cube.AI 证明了嵌入式系统上的神经网络已经存在。

STM32Cube.AI 将数据科学带给嵌入式系统专家

STM32Cube.AI 套件的基础部分是 X-CUBE-AI,它用作 STM32CubeMX 代码生成器的扩展包。不熟悉我们生态系统的人会喜欢我们的分步指南,该指南解释了如何使用它来配置微控制器的引脚和时钟树等,并生成将启动他们的应用程序的头文件。X-CUBE-AI显着扩展了 STM32CubeMX 的功能集,使其能够导入由当今一些最流行的库(例如 Keras、TensorFlow、Caffe、Lasagne 或 ConvnetJS)训练的人工神经网络。通过 X-CUBE-AI,STM32CubeMX 将在 STM32 MCU 上映射神经网络并优化生成的库例如,折叠它的一些层并减少它的内存占用。然后代码生成器将生成一个开发人员可以在应用程序中使用的库。

如果专业人士甚至爱好者想要快速开始试验我们的 STM32Cube.AI 计划,他们可以使用功能包 FP-AI-SENSING1,其中包括两个充分利用我们的 SensorTile 开发套件的应用示例。其中之一使用车载麦克风捕获音频、预处理信号,然后使用推理来确定声音是来自室内、室外还是来自车辆内部。

类似地,另一个示例程序跟踪运动以确定用户是静止的、步行的、跑步的、骑自行车的还是开车的。我们已经编译了二进制文件,因此用户只需将文件拖放到他们的系统上即可开始使用这些应用程序以加载演示。我们还提供硬件抽象层、驱动程序和源代码等,因此开发人员可以从我们的实现中学习并开始编写他们的测试软件。

区分神经网络和决策树

X-CUBE-AI 和 FP-AI-SENSING1 都可以提供神经网络,这要归功于对物联网平台上深度学习系统实施的多年研究。然而,今天的公告具有高度的象征意义,因为 STM32Cube.AI 将所有这些论文和发现结合在一个解决方案中,通过允许将大量拓扑转换到我们的平台上以用于许多不同的应用,扩大了以前可能的范围。

虽然新工具实现了人工神经网络,但我们想要区分这样一个事实,即我们还通过使用决策树为资源稀缺的运动传感器带来机器学习能力。从最广泛的意义上说,机器学习使用数学模型来处理数据并估计最佳结果或决策。决策树是机器学习中的分类器模型,它反复将特征空间解析为一系列路径(分支)并贯穿它们,直到系统到达一个端点(叶子),它代表一个类或决策。2019 年,我们的惯性传感器 LSM6DSOX 将使用决策树来提供机器学习功能因为这是提供新的低功耗特性的好方法,无需微控制器的帮助即可处理来自一个或两个传感元件的数据。

与决策树相反,神经网络不是使用 if-then-else 语句解析特征空间的算法,而是连接单元(神经元)的框架,这些单元(神经元)在系统通过示例学习时获得不同的权重。然后应用程序可以使用生成的模型来推断和估计最合适的响应。神经网络中的决策过程并不那么明显,在某些用例中,它可能需要比决策树更多的资源,但它可以处理更大的数据流,以便在更广泛的领域提供更准确的结果应用程序。

STM32Cube.AI 为数据科学家带来嵌入式系统

依赖于神经网络的应用程序的性能和准确性来自对必须收集的数据类型和质量的正确分析,并与适当网络拓扑的选择紧密结合。当我们谈论深度嵌入式解决方案时,情况更是如此。因此,我们确保我们的合作伙伴计划将包括能够在此过程中提供必要专业知识来指导我们的客户的公司

我们计划的一些成员掌握了特定的研究领域,例如Lenord+Bauer专注于运动传感器,并展示了我们的平台和人工智能如何导致火车轨道的预测性维护。其他公司,如SIANA Systems,为医疗、工业、家庭自动化和可穿戴应用提供更丰富的经验。无论如何,这些合作伙伴将使 STM32 开发人员能够摆脱我们应用示例的限制,并将神经网络模型训练到与新商业产品兼容的水平。

STM32Cube.AI 为拓扑专家带来嵌入式系统

我们的合作伙伴还将协助公司选择正确的拓扑结构。拓扑是网络神经元之间互连的表示,它显示了它们如何与输入交互、相互影响以及获得一个或多个输出。最简单的拓扑(多层感知器)添加多个输入并提供具有全方位连接的输出,而当今更常见的拓扑(例如卷积神经网络)使用一系列输入互连到一组异构过滤提供越来越可能的输出的神经元。今天,数据科学家继续改进和优化这些拓扑,但基本原理保持不变。

例如,音频应用程序传统上使用门控循环单元 (GRU),它依赖于具有能够回忆先前信息的记忆的神经元。然而,今天,专家们倾向于更喜欢长期/短期记忆拓扑 (LSTM),这种拓扑在利用长期时间信息方面更强大,但代价是更多的内存和计算。

STM32Cube.AI:2019 年会发生什么?

STM32Cube.AI 工具箱的美妙之处在于它使开发人员能够立即开始使用神经网络,即使他们不是数据挖掘和拓扑方面的专家。此外,这些解决方案帮助他们提高生产力,因为他们不再需要编写耗时的库,因为 STM32CubeMX 只是生成它们。事实上,Function Pack 使用应用示例帮助工程师和爱好者在几分钟内试验我们的解决方案,我们将在 2019 年第一季度将这些应用示例提供给更多客户,因为我们带来了 FP-AI 的演示-SENSING1 到B-L475E-IOT01A 发现物联网节点。因此,我们的计划将继续接收更新,以使其更易于使用并可供更多开发人员使用。

我们还将确保 STM32CubeMX 可以在更多 MCU 上转换预训练的人工神经网络。代码生成器包括一个选择工具,可以分析网络的复杂性,以推荐具有适当计算吞吐量和内存量的 STM32。今天,X-CUBE-AI 只能将网络转换为具有浮点单元的微控制器,这意味着它需要一个至少具有 Cortex M4 的模型。然而,我们正在努力更新我们的工具以支持定点实现,这最终将把神经网络带入甚至更低功耗的系统或加速我们更强大的微控制器的推理。同样,我们将逐步添加对其他 AI 框架的支持,使 STM32Cube.AI 工具包更加全面。

审核编辑:郭婷

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

    关注

    48

    文章

    6734

    浏览量

    147371
  • mcu
    mcu
    +关注

    关注

    145

    文章

    15884

    浏览量

    342771
  • 神经网络
    +关注

    关注

    42

    文章

    4538

    浏览量

    98424
收藏 人收藏

    评论

    相关推荐

    STM32H750可以使用Cube.AI吗?

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

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

    我用STM32CubeMX中的X-Cube-AI, 导入了一个处理时间序列的神经网络网络input是2维数据,如(10,256,2) 在Generate code之后,在main.
    发表于 03-13 07:38

    STM32Cube.AI部署ONNX模型实操示例:风扇堵塞检测

    STM32Cube.AI 部署ONNX 模型实操示例:风扇堵塞检测
    的头像 发表于 09-28 16:25 1152次阅读
    用<b class='flag-5'>STM32Cube.AI</b>部署ONNX模型实操示例:风扇堵塞检测

    如何在OpenMV生态系统中集成STM32Cube.AI生成的代码

    电子发烧友网站提供《如何在OpenMV生态系统中集成STM32Cube.AI生成的代码.pdf》资料免费下载
    发表于 09-20 09:55 0次下载
    如何在OpenMV生态系统中集成<b class='flag-5'>STM32Cube.AI</b>生成的<b class='flag-5'>代码</b>

    AI加速器架构设计与实现》+第一章卷积神经网络观后感

    AI加速器架构设计与实现》+第一章卷积神经网络观感    在本书的引言中也提到“一图胜千言”,读完第一章节后,对其进行了一些归纳(如图1),第一章对常见的神经网络结构进行了介绍,举例了一些结构
    发表于 09-11 20:34

    基于IDE构建用于STM32微处理器的完整人工智能项目

    本用户手册指导了基于 IDE 逐步构建用于 STM32 微处理器的完整人工智能(AI)项目,自动转换预训练好的神经网络(NN)并集成所生成的优化
    发表于 09-07 06:15

    STM32标准外设库迁移至STM32Cube底层库

    本应用笔记介绍了从现有使用STM32 SPL开发的基于STM32的应用程序迁移到使用STM32Cube LL驱动程序的任何其他类型的微控制器的步骤。本应用笔记汇总了将基于STM32 S
    发表于 08-31 10:25 0次下载

    cnn卷积神经网络简介 cnn卷积神经网络代码

    cnn卷积神经网络简介 cnn卷积神经网络代码 卷积神经网络(Convolutional Neural Network,简称CNN)是目前深度学习领域中应用广泛的一种
    的头像 发表于 08-21 17:16 1709次阅读

    卷积神经网络算法代码matlab

    卷积神经网络算法代码matlab 卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习网络模型,其特点是具有卷积层(Convolutional
    的头像 发表于 08-21 16:50 755次阅读

    卷积神经网络python代码

    的卷积操作,将不同层次的特征进行提取,从而通过反向传播算法不断优化网络权重,最终实现分类和预测等任务。 在本文中,我们将介绍如何使用Python实现卷积神经网络,并详细说明每一个步骤及其原理。 第一步:导入必要的库 在开始编写
    的头像 发表于 08-21 16:41 620次阅读

    如何使用TensorFlow神经网络模型部署到移动或嵌入式设备上

    有很多方法可以经过训练的神经网络模型部署到移动或嵌入式设备上。不同的框架在各种平台上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如Android
    发表于 08-02 06:43

    始使用X-CUBE-SBSFU STM32Cube扩展包

    电子发烧友网站提供《始使用X-CUBE-SBSFU STM32Cube扩展包.pdf》资料免费下载
    发表于 08-01 09:22 0次下载
    始使用X-<b class='flag-5'>CUBE</b>-SBSFU <b class='flag-5'>STM32Cube</b>扩展包

    意法半导体STM32Cube.AI和NanoEdgeAI,全面支持边缘AI部署!

    电子发烧友网报道(文/李弯弯)十年前,深度神经网络模型多还是在云端执行,而如今已经越来越多地向边缘侧转移。从目前的趋势来看,边缘人工智能将成为主流,调研机构数据显示,到2030年,深度端侧AI设备
    的头像 发表于 05-20 00:17 4116次阅读
    意法半导体<b class='flag-5'>STM32Cube.AI</b>和NanoEdgeAI,全面支持边缘<b class='flag-5'>AI</b>部署!

    STM32峰会AI篇 | 边缘AIAI未来的价值保障

    NIVIDIA TAO和STM32Cube.AI工具,让开发者STM32微控制器上无缝训练和实现神经网络模型 。 本文为2023 STM32峰会连接篇重点内容。 ST 为什么要积极投入
    的头像 发表于 05-13 11:25 1009次阅读
    <b class='flag-5'>STM32</b>峰会<b class='flag-5'>AI</b>篇 | 边缘<b class='flag-5'>AI</b>是<b class='flag-5'>AI</b>未来的价值保障

    如何将AI集成到MCU中?

    STM32Cube.AI开发者云是ST为开发人员和数据专家提供一套业界首创的免费在线开发工具和服务,能够针对所有STM32生成优化AI。无需安装软件,无需主板。登录即可创建、
    发表于 04-20 10:07 461次阅读
    如何将<b class='flag-5'>AI</b>集成到MCU中?