学习从YOLO11 模型导出到TFLite EdgeTPU 格式
在计算能力有限的设备(如移动或嵌入式系统)上部署计算机视觉模型可能很棘手。使用为提高性能而优化的模型格式可简化这一过程。TensorFlow LiteEdge TPU或TFLite EdgeTPU 模型格式旨在使用最少的功耗,同时为神经网络提供更快的性能。
导出为TFLite EdgeTPU 格式的功能可让您优化您的 Ultralytics YOLO11模型进行高速和低功耗推理。在本指南中,我们将指导您将模型转换为TFLite EdgeTPU 格式,使您的模型更容易在各种移动和嵌入式设备上良好运行。
为什么要向TFLite EdgeTPU 出口?
将模型导出到 TensorFlow Edge TPU 可以使 机器学习 任务快速高效。这项技术适用于功率、计算资源和连接性有限的应用。Edge TPU 是 Google 提供的硬件加速器,可加速边缘设备上的 TensorFlow Lite 模型。下图显示了所涉及过程的示例。

Edge TPU 适用于量化模型。量化使模型更小、更快,而不会损失太多准确性。它非常适合边缘计算的有限资源,通过减少延迟并允许在本地快速处理数据而无需云依赖性,从而使应用程序能够快速响应。本地处理还可以保护用户数据的隐私和安全,因为它不会发送到远程服务器。
TFLite EdgeTPU的主要特点
以下是使TFLite EdgeTPU 成为开发人员最佳模型格式选择的主要特性:
优化边缘设备性能:TFLite EdgeTPU 通过量化、模型优化、硬件加速和编译器优化实现了高速神经网络性能。其简约的架构有助于实现更小的尺寸和更高的成本效益。
高计算吞吐量:TFLite EdgeTPU 将专门的硬件加速与高效的运行时执行相结合,实现了高计算吞吐量。它非常适合在边缘设备上部署对性能有严格要求的机器学习模型。
高效矩阵计算: TensorFlow Edge TPU 针对矩阵运算进行了优化,这对于神经网络计算至关重要。这种效率是机器学习模型的关键,特别是那些需要大量复杂矩阵乘法和变换的模型。
TFLite EdgeTPU部署选项
在了解如何将YOLO11 模型导出为TFLite EdgeTPU 格式之前,我们先来了解一下TFLite EdgeTPU 模型通常用在什么地方。
TFLite EdgeTPU 为机器学习模型提供多种部署选项,包括
设备上部署:TensorFlow EdgeTPU 模型可直接部署在移动和嵌入式设备上。通过将模型嵌入应用程序捆绑包或按需下载,设备上部署可使模型直接在硬件上执行,无需云连接。
使用云 TensorFlow TPU 进行边缘计算: 在边缘设备处理能力有限的情况下,TensorFlow Edge TPU 可以将推理任务卸载到配备 TPU 的云服务器上。
混合部署:混合方法结合了设备端和云端部署,为部署机器学习模型提供了一种通用且可扩展的解决方案。优点包括用于快速响应的设备端处理和用于更复杂计算的云计算。
将YOLO11 模型导出到TFLite EdgeTPU
通过将 YOLO11 模型转换为 TensorFlow Edge TPU,您可以扩展模型的兼容性和部署灵活性。
安装
要安装所需的软件包,请运行:
安装
# Install the required package for YOLO11
pip install ultralytics
有关安装过程的详细说明和最佳实践,请查看我们的 Ultralytics 安装指南。如果在为 YOLO11 安装所需软件包时遇到任何困难,请查阅我们的 常见问题指南以获取解决方案和提示。
用法
所有Ultralytics YOLO11 模型都设计为支持开箱即用的导出,从而可以轻松地将其集成到您首选的部署工作流程中。您可以查看支持的导出格式和配置选项的完整列表,以选择最适合您应用程序的设置。
用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
导出参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'edgetpu' | 导出模型的目标格式,定义与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入的所需图像大小。 可以是正方形图像的整数或元组 (height, width) 用于指定特定维度。 |
device | str | None | 指定导出设备:CPU(device=cpu)。 |
提示
导出到 EdgeTPU 时,请确保使用 x86 Linux 机器。
有关导出过程的更多详细信息,请访问Ultralytics 文档页面上的导出。
部署已出口的YOLO11 TFLite EdgeTPU 型号
成功地将Ultralytics YOLO11 模型导出为TFLite EdgeTPU 格式后,现在就可以部署它们了。运行TFLite EdgeTPU 模型的第一步是使用YOLO("model_edgetpu.tflite")方法,如前面的使用代码片段所述。
但是,有关部署TFLite EdgeTPU 模型的深入说明,请参阅以下资源:
在树莓派上使用Coral Edge TPU与Ultralytics YOLO11: 了解如何将Coral Edge TPU与树莓派集成,以增强机器学习能力。
代码示例: 访问实用的 TensorFlow Edge TPU 部署示例,以启动您的项目。
使用 Python 在 Edge TPU 上运行推理:探索如何使用 TensorFlow Lite Python API 进行 Edge TPU 应用开发,包括设置和使用指南。
总结
在本指南中,我们学习了如何将Ultralytics YOLO11 模型导出为TFLite EdgeTPU 格式。按照上述步骤操作,您可以提高计算机视觉应用程序的速度和功能。
有关使用详情,请访问 Edge TPU 官方网站。
此外,有关其他 Ultralytics YOLO11 集成的更多信息,请访问我们的集成指南页面。在那里,您将发现有价值的资源和见解。
常见问题
如何将YOLO11 模型导出为TFLite EdgeTPU 格式?
要将YOLO11 模型导出为TFLite EdgeTPU 格式,可以按照以下步骤操作:
用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
有关将模型导出为其他格式的完整详细信息,请参阅我们的导出指南。
将YOLO11 模型导出到TFLite EdgeTPU 有什么好处?
将YOLO11 模型导出到TFLite EdgeTPU 有几个好处:
- 优化性能:以最小的功耗实现高速神经网络性能。
- 减少延迟:快速本地数据处理,无需依赖云。
- 增强隐私:本地处理可确保用户数据的私密性和安全性。
这使其非常适合边缘计算中的应用,在边缘计算中,设备的功率和计算资源有限。了解更多关于为什么要导出的信息。
我可以在移动和嵌入式设备上部署TFLite EdgeTPU 模型吗?
是的,TensorFlow Lite Edge TPU 模型可以直接部署在移动和嵌入式设备上。这种部署方法允许模型直接在硬件上执行,从而提供更快、更高效的推理。有关集成示例,请查看我们的在 Raspberry Pi 上部署 Coral Edge TPU 的指南。
TFLite EdgeTPU 模型有哪些常见的使用情况?
TFLite EdgeTPU 型号的常见使用情况包括
- 智能相机:增强实时图像和视频分析。
- 物联网设备: 实现智能家居和工业自动化。
- 医疗保健: 加速医学影像和诊断。
- 零售业: 改善库存管理和客户行为分析。
这些应用得益于TFLite EdgeTPU 型号的高性能和低功耗。了解更多使用场景。
如何在导出或部署TFLite EdgeTPU 模型时排除故障?
如果您在导出或部署TFLite EdgeTPU 模型时遇到问题,请参阅我们的常见问题指南了解故障排除技巧。本指南涵盖常见问题和解决方案,可帮助您确保顺利运行。如需更多支持,请访问我们的帮助中心。