TensorFlow Lite Micro

来源:开源 / 时间:2026-08-23

TensorFlow Lite Micro(TFLM)是 TensorFlow Lite 的一个分支,专为微控制器和其他内存受限的设备设计。能够在没有操作系统支持的情况下直接在裸机上运行,不依赖任何标准 C/C++ 库和动态内存分配。TFLM 的核心运行时在 Cortex M3 上运行时仅需 16KB,加上运行语音关键字检测模型的操作,也只需 22KB 的空间。

TensorFlow Lite Micro 的特点

C++ API:TFLM 提供了一个低级 C++ API,使得在微控制器上执行机器学习推断成为可能,同时保持了对内存的精细控制。

模型转换:使用 TensorFlow Lite 转换器将 TensorFlow 模型转换为 TFLM 支持的格式,通常是一个量化模型,以减小模型大小并提高执行效率。

广泛的平台支持:TFLM 支持多种嵌入式平台,包括 Arduino、Keil 和 Mbed。它通过提供预生成的项目文件简化了在这些平台上的开发流程。

可移植性:TFLM 提供了可移植的参考代码,使得在没有特定微控制器平台的情况下,开发者也能够试用和测试代码。

开发工作流程

创建或获取模型:模型必须足够小,以便在转换后适合目标设备,并且只能使用 TFLM 支持的操作。

模型转换:使用 TensorFlow Lite 转换器将模型转换为 TensorFlow Lite FlatBuffer 格式。

生成 C byte 数组:将 FlatBuffer 转换为 C 数组,以便在设备的只读程序存储器中存储。

集成 TFLM C++ 库:编写微控制器代码以使用 C++ 库执行推断。

部署到设备:构建程序并将其部署到目标设备。

支持的平台

TFLM 支持多种开发板,包括但不限于 Arduino Nano 33 BLE Sense、SparkFun Edge 和 STM32F746 Discovery kit。此外,TFLM 也支持 ESP32 和其他基于 Arm Cortex-M 系列架构的处理器。

限制

尽管 TFLM 为微控制器提供了机器学习的能力,但它也有一些限制。它仅支持 TensorFlow 操作的有限子集,并且支持的设备数量有限。此外,TFLM 的 API 是低级的,需要开发者手动管理内存。

如何开始

开发者可以通过阅读官方文档和示例来开始使用 TFLM。这些资源提供了如何在受支持的平台上部署和运行 TFLM 的详细指南。此外,开发者还可以在 GitHub 上找到 TFLM 的源代码,以及社区支持的内核和单元测试。

TFLM 是开源的,遵循 Apache 2.0 许可。它的设计目标是可读性、易于修改和集成,同时与 TensorFlow Lite 保持完全兼容。开发者可以在 TensorFlow Lite 的官方网站和 GitHub 仓库中找到更多关于 TFLM 的信息。

上一篇: OpenCV

下一篇: vaultwarden 密码管理

客服