学习从YOLO11模型导出为TFLite Edge TPU格式
在计算能力有限的设备(如移动或嵌入式系统)上部署计算机视觉模型可能会很棘手。使用针对更快性能优化的模型格式可以简化这一过程。TensorFlow Lite Edge TPU 或 TFLite Edge TPU 模型格式旨在以最小的功耗为神经网络提供快速性能。
导出为 TFLite Edge TPU 格式的功能允许您优化 Ultralytics YOLO11 模型,以实现高速和低功耗的推理。在本指南中,我们将引导您将模型转换为 TFLite Edge TPU 格式,使您的模型更容易在各种移动和嵌入式设备上表现良好。
为什么要导出为TFLite Edge TPU?
将模型导出为 TensorFlow Edge TPU 可以使 机器学习 任务快速且高效。这项技术适用于电源、计算资源和连接性有限的场景。Edge TPU 是谷歌的硬件加速器,它加速了边缘设备上的 TensorFlow Lite 模型。下图展示了相关过程的示例。
Edge TPU 适用于量化模型。量化使模型更小、更快,而不会损失太多 准确性。这对于边缘计算的有限资源非常理想,允许应用程序通过减少延迟和允许本地快速数据处理来快速响应,而无需依赖云。本地处理还保持用户数据的隐私和安全,因为它不会发送到远程服务器。
TFLite Edge TPU的关键特性
以下是使 TFLite Edge TPU 成为开发者优秀模型格式选择的关键特性:
-
边缘设备上的优化性能:TFLite Edge TPU 通过量化、模型优化、硬件加速和编译器优化实现了高速神经网络性能。其简约的架构有助于其更小的尺寸和成本效益。
-
高计算吞吐量:TFLite Edge TPU 结合了专门的硬件加速和高效的运行时执行,以实现高计算吞吐量。它非常适合在边缘设备上部署具有严格性能要求的机器学习模型。
-
高效的矩阵计算:TensorFlow Edge TPU 针对矩阵操作进行了优化,这对于 神经网络 计算至关重要。这种效率在机器学习模型中尤为关键,特别是那些需要大量复杂矩阵乘法和变换的模型。
TFLite Edge TPU的部署选项
在我们深入了解如何将 YOLO11 模型导出为 TFLite Edge TPU 格式之前,让我们先了解 TFLite Edge TPU 模型通常用于哪些场景。
TFLite Edge TPU 为机器学习模型提供了多种部署选项,包括:
-
设备上部署:TensorFlow Edge TPU 模型可以直接部署在移动和嵌入式设备上。设备上部署允许模型直接在硬件上执行,消除了对云连接的需求。
-
边缘计算与云 TensorFlow TPU:在边缘设备处理能力有限的情况下,TensorFlow Edge TPU 可以将推理任务卸载到配备 TPU 的云服务器上。
-
混合部署:混合方法结合了设备上和云部署,为部署机器学习模型提供了灵活且可扩展的解决方案。其优势包括设备上处理以快速响应和 云计算 以进行更复杂的计算。
将YOLO11模型导出为TFLite Edge TPU
您可以通过将 YOLO11 模型转换为 TensorFlow Edge TPU 来扩展模型的兼容性和部署灵活性。
安装
要安装所需的包,请运行:
有关安装过程的详细说明和最佳实践,请查看我们的Ultralytics 安装指南。在安装 YOLO11 所需包的过程中,如果遇到任何困难,请参考我们的常见问题指南以获取解决方案和提示。
使用方法
在深入使用说明之前,需要注意的是,虽然所有Ultralytics YOLO11 模型都可供导出,但您可以确保所选模型支持导出功能在此。
使用方法
from ultralytics import YOLO
# 加载 YOLO11 模型
model = YOLO("yolo11n.pt")
# 将模型导出为 TFLite Edge TPU 格式
model.export(format="edgetpu") # 创建 'yolo11n_full_integer_quant_edgetpu.tflite'
# 加载导出的 TFLite Edge TPU 模型
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# 运行推理
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
有关支持的导出选项的更多详细信息,请访问Ultralytics 部署选项文档页面。
部署导出的 YOLO11 TFLite Edge TPU 模型
成功将 Ultralytics YOLO11 模型导出为 TFLite Edge TPU 格式后,您现在可以部署它们。运行 TFLite Edge TPU 模型的主要和推荐的第一步是使用 YOLO("model_edgetpu.tflite") 方法,如前面的使用代码片段中所述。
然而,有关部署 TFLite Edge TPU 模型的深入说明,请查看以下资源:
-
在 Raspberry Pi 上使用 Ultralytics YOLO11 的 Coral Edge TPU:了解如何将 Coral Edge TPU 与 Raspberry Pi 集成,以增强机器学习能力。
-
代码示例:访问实用的 TensorFlow Edge TPU 部署示例,以启动您的项目。
-
使用 Python 在 Edge TPU 上运行推理:探索如何使用 TensorFlow Lite Python API 进行 Edge TPU 应用,包括设置和使用指南。
总结
在本指南中,我们学习了如何将 Ultralytics YOLO11 模型导出为 TFLite Edge TPU 格式。通过遵循上述步骤,您可以提高计算机视觉应用的速度和性能。
有关更多详细信息,请访问Edge TPU 官方网站。
此外,有关其他 Ultralytics YOLO11 集成的更多信息,请访问我们的集成指南页面。在那里,您将发现有价值的资源和见解。
常见问题
如何将 YOLO11 模型导出为 TFLite Edge TPU 格式?
要将 YOLO11 模型导出为 TFLite Edge TPU 格式,您可以按照以下步骤操作:
使用方法
from ultralytics import YOLO
# 加载 YOLO11 模型
model = YOLO("yolo11n.pt")
# 将模型导出为 TFLite Edge TPU 格式
model.export(format="edgetpu") # 创建 'yolo11n_full_integer_quant_edgetpu.tflite'
# 加载导出的 TFLite Edge TPU 模型
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# 运行推理
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
有关将模型导出为其他格式的完整详细信息,请参阅我们的导出指南。
将 YOLO11 模型导出为 TFLite Edge TPU 的好处是什么?
将 YOLO11 模型导出为 TFLite Edge TPU 提供以下几个好处:
- 优化性能:以最小的功耗实现高速神经网络性能。
- 减少延迟:快速本地数据处理,无需依赖云端。
- 增强隐私:本地处理保持用户数据私密和安全。 这使其非常适合应用于边缘计算,在这些应用中,设备具有有限的电力和计算资源。了解更多关于为什么你应该导出的信息。
我可以在移动和嵌入式设备上部署TFLite Edge TPU模型吗?
是的,TensorFlow Lite Edge TPU模型可以直接部署在移动和嵌入式设备上。这种部署方式允许模型直接在硬件上执行,提供更快和更高效的推理。有关集成示例,请查看我们的在Raspberry Pi上部署Coral Edge TPU的指南。
TFLite Edge TPU模型有哪些常见用例?
TFLite Edge TPU模型的常见用例包括:
- 智能摄像头:增强实时图像和视频分析。
- 物联网设备:实现智能家居和工业自动化。
- 医疗保健:加速医学影像和诊断。
- 零售:改进库存管理和客户行为分析。
这些应用受益于TFLite Edge TPU模型的高性能和低功耗。了解更多关于使用场景的信息。
在导出或部署TFLite Edge TPU模型时,我该如何排查问题?
如果在导出或部署TFLite Edge TPU模型时遇到问题,请参考我们的常见问题指南以获取故障排除提示。该指南涵盖了常见问题及其解决方案,帮助你确保顺利运行。如需更多支持,请访问我们的帮助中心。