在边缘设备或嵌入式设备上部署计算机视觉模型需要一种能确保无缝性能的格式。
TensorFlow Lite 或 TFLite 导出格式可让您优化您的
Ultralytics YOLOv8
模型,以便在基于边缘设备的应用中执行对象检测和图像分类等任务。在本指南中,我们将介绍将模型转换为 TFLite 格式的步骤,使您的模型更容易在各种边缘设备上良好运行。
为什么要导出到 TFLite?
TensorFlow
Lite(简称 TFLite)是谷歌于 2017 年 5 月推出的开源深度学习框架,是其TensorFlow 框架的一部分,专为设备推理(也称为边缘计算)而设计。它为开发人员提供了在移动、嵌入式和物联网设备以及传统计算机上执行训练好的模型所需的工具。
TensorFlow TFLite 兼容多种平台,包括嵌入式 Linux、Android、iOS 和 MCU。将模型导出到 TFLite 可使您的应用程序更快、更可靠,并能离线运行。
TFLite 型号的主要特点
TFLite 模型具有多种关键功能,可帮助开发人员在移动、嵌入式和边缘设备上运行模型,从而实现设备上的机器学习:
设备上
优化:TFLite 对设备上的 ML 进行了优化,通过本地处理数据来减少延迟,通过不传输个人数据来提高私密性,并尽量缩小模型尺寸以节省空间。
多平台支持
:TFLite 提供广泛的平台兼容性,支持 Android、iOS、嵌入式 Linux 和微控制器。
支持多种语言
:TFLite 兼容多种编程语言,包括 Java、Swift、Objective-C、C++ 和Python 。
高性能
:通过硬件加速和模型优化实现卓越性能。
TFLite 中的部署选项
在了解将YOLOv8 模型导出为 TFLite 格式的代码之前,我们先来了解一下 TFLite 模型通常是如何使用的。
TFLite 为机器学习模型提供各种设备上部署选项,包括
使用 Android 和 iOS 进行部署
:使用 TFLite 的 Android 和 iOS 应用程序均可分析基于边缘的摄像头馈送和传感器,以检测和识别物体。TFLite 还提供用
Swift
和
Objective-C
编写的本地 iOS 库。下面的架构图显示了使用TensorFlow Lite 将训练好的模型部署到 Android 和 iOS 平台的过程。
使用嵌入式 Linux 实现
:如果使用
Ultralytics 指南
在
树莓派
上运行推理不能满足您的使用要求,您可以使用导出的 TFLite 模型来加快推理时间。此外,还可以利用
Coral EdgeTPU 设备
进一步提高性能。
使用微控制器部署
:TFLite 模型也可以部署在内存只有几千字节的微控制器和其他设备上。在 Arm Cortex M3 上,核心运行时只有 16 KB,可以运行许多基本模型。它不需要操作系统支持、任何标准 C 或 C++ 库或动态内存分配。
导出到 TFLite:转换您的YOLOv8 模型
通过将它们转换为 TFLite 格式,可以提高设备上模型的执行效率并优化性能。
要安装所需的软件包,请运行