TensorFlow Lite与Ultralytics YOLO11模型转换指南

边缘计算领域,确保模型的无缝性能至关重要。TensorFlow Lite(简称TFLite)是一种优化格式,允许在边缘设备上执行对象检测和图像分类等任务。本指南将带了解如何将模型转换为TFLite格式,以便在各种边缘设备上表现良好。

TensorFlow Lite是由Google在2017年5月推出的TensorFlow框架的一部分,是一个为设备端推理(也称为边缘计算)设计的开源深度学习框架。它为开发者提供了在移动设备、嵌入式设备和IoT设备以及传统计算机上执行训练模型所需的工具。TFLite与多种平台兼容,包括嵌入式Linux、Android、iOS和MCU。将模型导出为TFLite格式,可以使应用更快、更可靠,并能够离线运行。

TFLite模型提供了一系列关键特性,通过帮助开发者在移动设备、嵌入式设备和边缘设备上运行模型,实现设备上的机器学习:

  • 设备端优化:TFLite针对设备端机器学习进行优化,通过本地处理数据来减少延迟,通过不传输个人数据来增强隐私,并最小化模型大小以节省空间。
  • 多平台支持:TFLite提供广泛的平台兼容性,支持Android、iOS、嵌入式Linux和微控制器。
  • 多种语言支持:TFLite与多种编程语言兼容,包括Java、Swift、Objective-C、C++和Python。
  • 高性能:通过硬件加速和模型优化实现卓越的性能。

在查看将YOLO11模型导出为TFLite格式的代码之前,让了解TFLite模型通常如何使用。TFLite为机器学习模型提供了多种设备端部署选项,包括:

  • 与Android和iOS部署:Android和iOS应用程序中的TFLite可以分析基于边缘的相机馈送和传感器来检测和识别对象。TFLite还提供了用Swift和Objective-C编写的原生iOS库。下面的架构图显示了使用TensorFlow Lite将训练模型部署到Android和iOS平台的过程。
  • 与嵌入式Linux实现:如果使用Ultralytics指南在Raspberry Pi上运行推理不能满足用例速度要求,可以使用导出的TFLite模型来加速推理时间。此外,通过使用Coral Edge TPU设备,可以进一步提高性能。
  • 与微控制器部署:TFLite模型也可以部署在微控制器和其他仅有几千字节内存的设备上。核心运行时在Arm Cortex M3上仅占用16 KB,并且可以运行许多基本模型。它不需要操作系统支持、任何标准C或C++库或动态内存分配。

通过将模型转换为TFLite格式,可以提高设备端模型执行效率并优化性能。

要安装所需的包,请运行:

pip install ultralytics

有关安装过程的详细说明和最佳实践,请查看。在安装YOLO11所需的包时,如果遇到任何困难,请参考以获取解决方案和提示。

在深入使用说明之前,重要的是要注意,虽然所有Ultralytics YOLO11模型都可用于导出,但可以确保所选模型支持导出功能。

from ultralytics import YOLO # 加载YOLO11模型 model = YOLO("yolo11n.pt") # 将模型导出为TFLite格式 model.export(format="tflite") # 创建'yolo11n_float32.tflite' # 加载导出的TFLite模型 tflite_model = YOLO("yolo11n_float32.tflite") # 运行推理 results = tflite_model("https://ultralytics.com/images/bus.jpg")

有关导出过程的更多详细信息,请访问。

成功将Ultralytics YOLO11模型导出为TFLite格式后,现在可以部署它们了。运行TFLite模型的主要和推荐第一步是使用YOLO("model.tflite")方法,如前一个使用代码片段中所述。然而,对于在各种其他设置中部署TFLite模型的深入说明,请查看以下资源:

  • Android:一个快速入门指南,用于将TensorFlow Lite集成到Android应用程序中,提供了易于遵循的设置和运行机器学习模型的步骤。
  • iOS:查看这个详细的指南,了解开发者如何在iOS应用程序中集成和部署TensorFlow Lite模型,提供分步说明和资源。
  • 端到端示例:这个页面提供了各种TensorFlow Lite示例的概述,展示了实际应用和教程,旨在帮助开发者在移动和边缘设备上的机器学习项目中实现TensorFlow Lite。

在本指南中,专注于如何将模型导出为TFLite格式。通过将Ultralytics YOLO11模型转换为TFLite模型格式,可以提高YOLO11模型的效率和速度,使它们更适合边缘计算环境。有关使用的更多详细信息,请访问。

此外,如果对其他Ultralytics YOLO11集成感兴趣,请务必查看。会发现那里有大量有用的信息和见解。

如何将YOLO11模型导出为TFLite格式? 要将YOLO11模型导出为TFLite格式,可以使用Ultralytics库。首先,使用以下命令安装所需的包:

pip install ultralytics

然后,使用以下代码片段导出模型:

from ultralytics import YOLO # 加载YOLO11模型 model = YOLO("yolo11n.pt") # 将模型导出为TFLite格式 model.export(format="tflite") # 创建'yolo11n_float32.tflite'

对于CLI用户,可以使用以下命令实现这一点:

yolo export model=yolo11n.pt format=tflite # 创建'yolo11n_float32.tflite'

有关更多详细信息,请访问。

使用TensorFlow Lite进行YOLO11模型部署有哪些好处? TensorFlow Lite(TFLite)是一个为设备端推理设计的开源深度学习框架,非常适合在移动设备、嵌入式设备和IoT设备上部署YOLO11模型。主要好处包括:

  • 设备端优化:通过本地处理数据来最小化延迟并增强隐私。
  • 平台兼容性:支持Android、iOS、嵌入式Linux和MCU。
  • 性能:利用硬件加速来优化模型速度和效率。

要了解更多信息,请查看。

是否可以在Raspberry Pi上运行YOLO11 TFLite模型? 是的,可以在Raspberry Pi上运行YOLO11 TFLite模型以提高推理速度。首先,按照中解释的将模型导出为TFLite格式。然后,使用TensorFlow LiteInterpreter之类的工具在Raspberry Pi上执行模型。

对于进一步的优化,可能会考虑使用Coral Edge TPU。有关详细步骤,请参阅。

是否可以在微控制器上使用TFLite模型进行YOLO11预测? 是的,TFLite支持在资源有限的微控制器上部署。TFLite的核心运行时在Arm Cortex M3上仅需要16 KB的内存,并且可以运行基本的YOLO11模型。这使得它适合在计算能力和内存有限的设备上部署。

要开始,请访问。

哪些平台与导出的YOLO11TFLite模型兼容?TensorFlow Lite提供了广泛的平台兼容性,允许在多种设备上部署YOLO11模型,包括:

  • Android和iOS:通过TFLite Android和iOS库提供原生支持。
  • 嵌入式Linux:适用于Raspberry Pi等单板计算机。
  • 微控制器:适合资源受限的MCU。

有关部署选项的更多信息,请查看。

在将YOLO11模型导出为TFLite时遇到常见问题如何解决? 如果在将YOLO11模型导出为TFLite时遇到错误,常见的解决方案包括:

  • 检查包兼容性:确保使用的是兼容版本的Ultralytics和TensorFlow。参考。
  • 模型支持:验证特定YOLO11模型是否支持TFLite导出,进行检查。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485