中国电子技术网

设为首页 网站地图 加入收藏

 
 

机器学习的入门者和专家都青睐 STM32 生态系统

关键词:机器学习 STM32

时间:2022-09-09 10:41:02      来源:Digi-Key

机器学习,特别是 TinyML 有可能彻底改变嵌入式系统的设计和构建方式。从传统上来讲,这些系统采用了基于开发者对系统经验的程序算法。机器学习带来了不同的方法,其中系统算法基于对现实世界的观察和数据。如果环境数据发生了变化,那么机器学习模型可以迅速利用数据重新学习。人工编码的解决方案则需要重写。

作者: Jacob Beningo

机器学习,特别是 TinyML 有可能彻底改变嵌入式系统的设计和构建方式。从传统上来讲,这些系统采用了基于开发者对系统经验的程序算法。机器学习带来了不同的方法,其中系统算法基于对现实世界的观察和数据。如果环境数据发生了变化,那么机器学习模型可以迅速利用数据重新学习。人工编码的解决方案则需要重写。

本文将探讨由 STMicroelectronics STM32 微控制器系列支持的嵌入式系统的机器学习平台和工具。

STM32 微控制器系列的机器学习支持

机器学习可以成为嵌入式系统开发者的强大工具。然而,开发者往往认为机器学习算法需要太多的处理能力,或者算法太大,以至于无法适应典型的微控制器。现实中,所选微控制器将更多地取决于希望通过机器学习做什么,而不是特定微控制器如何支持机器学习。

例如,图 1 显示了一系列支持机器学习的 STM32 微控制器系列。这些微控制器范围从 STM32F0 到 STM32F7,前者运行频率为 48 MHz,具有高达 256 KB 的闪存和 32 KB 的 RAM,后者运行频率为 216 MHz、具有高达 2 MB 的闪存和 512 KB 的 RAM。


图 1:使用 STM32Cube.AI 和 NanoEdge 开发工具的 STM32 微控制器支持机器学习。(图片来源:STMicroelectronics)

正如我们所了解的,有相当多的微控制器可以支持机器学习。真正的问题是,机器学习平台必须能顺利地支持广泛的开发者。例如,对于嵌入式软件团队来说,拥有一名机器学习专家并不常见。相反,嵌入式软件开发者被迫在他们的传统技能之外还需精通机器学习。因此,需要一个平台来支持有或没有机器学习专家的团队。STM32 机器学习生态系统的工具链有助于解决这个问题。

为没有机器学习专家的嵌入式团队提供帮助

可以肯定的是,设计和训练机器学习算法似乎是一项艰巨的任务。开发者需要能够获取数据、设计模型、训练模型,然后确保模型足以适合优化并将其部署到嵌入式系统中。

传统上,机器学习模型是通过 TensorFlow Lite、PyTorch、Matlab 或其他工具创建的。这些工具往往远超出嵌入式软件开发者的舒适区或经验。掌握这些工具并得到准确的结果不仅耗费时间,而且成本也很高。

STM32 机器学习生态系统包括一个被称作 NanoEdge 的工具(图 2),能帮助没有机器学习专业知识或经验的开发者在其设备上训练、部署机器学习应用。

例如,开发者可以轻松地创建机器学习库,用于诸如异常检测、异常值检测、分类和回归等应用。然后,可以在 STM32 微控制器上部署这些库。


图 2:NanoEdge 可以引导开发者完成整个机器学习的开发过程。(图片来源:STMicroelectronics)

拥有 机器学习专家的嵌入式团队怎么办?

当一个开发团队能够求助机器学习专家时,他们将获得更多工具来开发 STM32 微控制器的机器学习模型。例如,当有了专业知识时,开发团队可以使用 TensorFlow Lite、PyTorch、Matlab 或其他一些工具来建模。经常出现的问题是,这些工具会产生未经优化的库。这种库在微控制器上的运行效率不高。

在 STM32 系列中,开发者可以利用 STM32Cube.AI 插件导入机器学习模型,并对其进行优化,以便在 STM32 微控制器上高效运行。该工具允许开发者在目标微控制器上运行、调整其机器学习模型。首先,开发者可以将其模型导入工具链,如图 3 所示。然后,他们可以转换模型,分析网络,然后进行验证。一旦完成这些工作,开发者就可在 STM32CubeIDE 内生成代码,围绕模型创建机器学习框架,以简化嵌入式软件开发。


图 3:正弦波发生器机器学习模型被导入 STM32CubeIDE.AI。(图片来源:Beningo Embedded Group)

嵌入式软件开发者必须向机器学习模型提供适当的输入,以及检查结果代码。可以对结果进行操作,也可以对结果进行平均化或以任何对应用有意义的方式进行操作。图 4 显示了运行和检查模型结果的简单应用循环。


图 4:主循环围绕机器学习模型。(图片来源:Beningo Embedded Group)

结语

在 TinyML 的推动下,机器学习正以适当的方式融入嵌入式应用。为了获得成功,开发者需要利用一个平台。虽然看起来平台选项几乎每天都在出现,但 STM32 生态系统为开发者提供了一个简单且可扩展的解决方案路径。

在这个生态系统中,具有机器学习经验的开发者可以利用其传统工具,并使用 STM32CubeIDE.AI 插件来优化、调整解决方案。对于没有机器学习专业知识的团队,可以通过 NanoEdge 来简化机器学习库的开发,并快速、经济地启动和运行解决方案。

  • 分享到:

 

猜你喜欢

  • 主 题:LTM4702:16VIN、8A 超低噪声 Silent Switcher 3 μModule
  • 时 间:2024.04.11
  • 公 司:ADI&Arrow

  • 主 题:高集成伺服驱动系统与工业机器人方案
  • 时 间:2024.04.18
  • 公 司:ST

  • 主 题:英飞凌XMC4000支持EtherCAT®通讯的伺服/IO控制方案介绍
  • 时 间:2024.04.25
  • 公 司:英飞凌&骏龙科技