当前位置:首页 > 厂商动态 > 贸泽电子
[导读]在开始使用TinyML时,可能都有一个令人生畏的经历。随着时间的推移,机器学习 (ML) 在基于边缘的工业应用中得到了发展和普及。从传统意义上来说,选择合适的神经网络模型、并对其进行训练和调整以进行部署,是一个非常复杂的过程。不过,随着专为TinyML应用而设计的人工智能 (AI)/ML资源的不断丰富,可以提供的帮助也越来越多。

在开始使用TinyML时,可能都有一个令人生畏的经历。随着时间的推移,机器学习 (ML) 在基于边缘的工业应用中得到了发展和普及。从传统意义上来说,选择合适的神经网络模型、并对其进行训练和调整以进行部署,是一个非常复杂的过程。不过,随着专为TinyML应用而设计的人工智能 (AI)/ML资源的不断丰富,可以提供的帮助也越来越多。

图源: NicoElNino/Stock.adobe.com

作者:Mark Patrick,贸泽电子专稿

在本文中,我们将为大家介绍TensorFlow Lite、Edge Impulse和Fraunhofer AIfES在资源有限的微控制器上训练和部署AI模型时常用的方法。

部署边缘应用

在工业电机振动监测应用中,开发人员在设计时通常需要使用加速度计,收集数十个不同电机的振动传感器数据。每个电机都应处于不同的潜在故障阶段,这样开发人员才能收集到具有代表性的数据。同样,他们需要记录处于完美工作状态的电机数据,然后选择合适的算法。这些算法本质上是几行代码,可用于发现偏离完美运行状态的振动信号的构成规则。开发团队在不了解各个振动传感器数据之间关系和复杂性的情况下,训练算法根据传感器数据进行预测。因此,所创建的机器学习算法构成了一个系统模型,并可以预测电机运行状况。要强调的是,虽然ML模型是一种有益的资源,但其推理是基于训练数据的预测、估计和近似值,而不是精确的答案。

基于网络边缘的推理越来越受欢迎,原因有很多。首先,无需将数据回传至服务器进行推理, 没有延迟和带宽成本。同时,由于数据不会被传输或存储在云服务器上,因此不存在隐私问题。为这些边缘应用选择的微控制器通常功耗很小,甚至有些还能够长期使用电池工作,从而降低了安装复杂性。要知道,许多用于科学推理应用的高性能GPU需要消耗数百瓦的能量,在某些情况下可能达到500W, 而微控制器的典型功耗曲线则为毫瓦甚至微瓦级。

加速开发和部署的资源

随着在网络边缘推理概念的兴起,也出现了一些专门为低功耗微控制器设计的资源。

适用于微控制器的TensorFlow Lite

TensorFlow是成熟的ML资源之一。它是Google在2015年开发的一个端到端ML开源平台,可提供一个由工具、库和社区资源组成的全面、灵活生态系统。TensorFlow允许开发人员构建和部署各种ML应用,例如科学、医学和各种商业应用等。

适用于微控制器的TensorFlow Lite的开源代码库由Google于2017年推出,旨在满足人们对在只有数十KB内存的低功耗微控制器上进行推理的日益增长的需求。TensorFlow Lite的核心运行时二进制库仅占用18kB的Arm® Cortex®-M3处理器内存,并且可运行多种不同的基本神经网络模型。它不需要操作系统支持、C或C++库甚至是直接内存分配,可以在“裸机”上运行。其代码库用C++ 11编写而成,需要使用32位微控制器。

适用于微控制器的TensorFlow Lite使用的是TensorFlow训练环境中针对微控制器优化的转换模型。适用于微控制器的TensorFlow Lite在Arm Cortex-M系列上得到了很好的支持和广泛测试,并可移植到其他MCU架构,例如基于Tensilica的Espressif ESP32系列和Synopsys ARC处理器内核系列。

除了适用于微控制器的TensorFlow Lite,还有一组可用于Android、iOS和Linux嵌入式单板计算机(如Raspberry Pi和Coral Edge TPU)的TensorFlow Lite优化代码库资源。

下面列出了适用于微控制器的TensorFlow Lite的工作流程(来源:tensorflow.org):

训练模型:

生成适合目标设备并包含支持操作的小型TensorFlow模型。

使用TensorFlow Lite转换器转换为TensorFlow Lite模型。

使用标准工具转换为C语言字节数组,以将其存储在设备上的只读程序内存中。

使用C++库进行推断并处理结果。

Edge Impulse

Edge Impulse为嵌入式微控制器设备提供了一个完整的机器学习培训到部署平台(图1)。Edge Impulse预计将用于全球20,000多个项目,其目标是在最短的时间内让嵌入式ML项目投入到生产,并将部署时间从几年缩短到几周。其重点是使用配备各种传感器的嵌入式设备,包括音频和视觉设备,并进行大规模部署。目标设备包括从资源受限的低功耗微控制器到功能更强大的微处理器和CPU,所支持的模型类型包括TensorFlow和Keras。

图1: Edge Impulse — 用于微控制器机器学习开发的完整综合平台 (图源:Edge Impulse)

Edge Impulse的典型ML应用包括工业、物流和医疗保健应用,例如预测性维护、资产跟踪和监控以及人类和动物感测等。

Edge Impulse遵守Responsible AI Institute的行为准则,要求其用户签署一份许可,证明他们的应用不涉及犯罪、监视或国防用途。

图2说明了Edge Impulse的模型测试功能。此示例将STMicroelectronics MCU与数字麦克风相结合,目的是识别两个单词,即house和zero。模型测试输出显示了这两个单词、背景噪声和其他未分类单词的可能概率百分比。

图2: Edge Impulse的模型测试功能 (图源:Edge Impulse)

Fraunhofer AIfES

德国研究机构Fraunhofer开发了一款用C语言编写的人工智能嵌入式系统 (AIfES) 框架,具有独立于平台的库。AIfES为开源架构,并遵守GNU通用公共许可 (GPL) 协议。它使用标准库GNU GCC,因而可显著简化系统实施,并且几乎可以在任何硬件设备上运行,包括从8位微控制器到功能更强大的智能手机处理器和台式计算机CPU等。 此外,还为基于Arduino平台进行设计的创新人员提供了合适的AIfES库。

AIfES可免费用于个人项目,而对于商业应用则需要许可协议。

图3展示了AIfES库在各种平台类型上的功能和兼容性。Fraunhofer AIfES库与TensorFlow、Keras和PyTorch等流行的Python ML框架兼容,在流程上也类似。

图3:The Fraunhofer人工智能嵌入式系统 (AIfES) 库功能 (图源:Fraunhofer Institute for Microelectronic Circuits and Systems)

TinyML实施的后续步骤

在本文中,我们重点介绍了适合快速开发和部署基于网络边缘TinyML应用的三个机器学习库和平台。开发用于边缘部署的嵌入式ML IIoT应用可能是一项艰巨的任务。然而,这些资源和工作流程能够极大地简化神经网络的复杂性,也减少了对深入理解数据科学原理的需求。

我们还需要了解文中所述开发资源支持的各种微控制器平台和评估套件。这样,我们就可以借助较少的其他组件、一块简单的低功耗微控制器评估板、一个传感器和上述资源,在不到一个小时的时间内制作出一个TinyML演示项目。

作者简介

Mark于2014年7月加入了贸泽电子,此前他曾在RS Components担任高级营销职务。在加入RS之前,Mark在Texas Instruments担任了8年的应用支持和技术销售职位,并获得了考文垂大学的电子工程一级荣誉学位。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭