文章图片
随着新的工具和功能可供我们开发人员在我们的系统中实施 , 机器学习让嵌入式系统行业嗡嗡作响 。 Arm Cortex-M类型微控制器上的机器学习仍然相对较新 , 但有一些非常有趣的工具可供嵌入式开发人员更轻松地将经过训练的模型集成到他们的产品中 , 一种这样的工具是ST MicroelectronicsSTM32Cube.AI 。
STM32Cube.AI是STM32CubeMX 的扩展包 , 可在STM32 Arm(r) Cortex(R)-M处理器上启用AI 。 STM32Cube.AI不为开发人员执行培训 , 但允许他们导入经过训练的模型并将其集成到他们的运行时环境中 。 你可以将STM32Cube.AI视为转换工具 , 它采用神经网络模型并生成可在STM32 微控制器上运行的优化代码 。
最新的STM32Cube.AI 版本6.0 允许开发人员从流行工具导入机器学习模型 , 例如:
Keras
TensorFlowLite
ONNX
开发人员甚至可以选择是使用STM32Cube.AI 运行时环境运行模型 , 还是使用TensorFlow Lite forMicrocontrollers 运行时 。
将模型放入嵌入式环境是很容易的部分 。 经常困扰嵌入式开发人员的问题是他们的机器学习模型是否能在微控制器上成功运行 。 毕竟 , 诸如此类的问题:
运行机器学习模型需要多少个执行周期?
这个机器学习模型会占用多少闪存空间?
这个机器学习模型将占用多少RAM 空间?
模型在目标上是否会像在训练和验证期间一样准确?
STM32Cube.AI有一个很棒的分析工具 , 可以用来回答很多这样的问题 。 例如 , 我从 TensorFlowLite for Microcontrollers 网站训练了一个超级简单的示例模型 , 给定x 值将预测正弦波的y 值 。 将模型导入 STM32Mx后 , 我能够分析模型并生成包含以下摘要的报告:
如你所见 , 摘要为我提供了用于该模型的内存大小 , 例如权重和激活以及执行机器学习模型所需的乘法和累加指令的数量 。 (这是一个超级简单的模型 , 所以大小以字节为单位!对于现实世界的例子来说不是很现实) 。
该报告还为模型提供了有用的细分 , 我们可以在其中看到神经网络中的每一层:
【Google|嵌入式开发:工具— STM32Cube.AI】这些只是STM32Cube.AI为准备进入微控制器机器学习世界的嵌入式系统开发人员提供的几个小例子 。 机器学习当然是新事物 , 而且发展迅速 , 但STM32Cube.AI是一款免费工具 , 可以帮助嵌入式开发人员轻松地将其机器学习模型转换为在微控制器上运行 。
- mec谷歌可能正开发新款 Chromecast 设备:支持更多编解码器
- 绿色发展注入“智慧能量”,音特电子与工程大签订技术开发合同
- |嵌入式开发:使用映射文件查找缓冲区溢出问题
- 谅解备忘录|富士康宣布与印尼投资部和其他公司合作 开发电动汽车
- 苹果|官宣索尼PS5可看B站视频 PS4版本正在开发
- 梦网科技澄清:从未开发并发布以“梦网科技”为名的App
- 开发者|删库跑路开发者要求恢复其项目控制权,但几乎没人支持
- 软件开发|计算机和电子信息工程哪个比较好?哪个薪资高?
- 美国军|Unity 美国军方采购细节泄露:正开发一款战机缠斗模拟器
- 相机|消息称舜宇光学参与三星A23 5G相机模块早期开发