在计算能力有限的设备上,如移动设备或嵌入式系统,进行机器学习任务可能会比较棘手。使用为更快性能而优化的模型格式可以简化这一过程。TensorFlow LiteEdge TPU或简称TFLite Edge TPU模型格式旨在在最小的功耗下提供快速的性能,适用于神经网络。
将模型导出为TFLite Edge TPU格式的功能允许优化Ultralytics YOLO11模型,以实现高速和低功耗推理。在本指南中,将向介绍如何将模型转换为TFLite Edge TPU格式,使模型能够在各种移动和嵌入式设备上表现良好。
将模型导出到TensorFlow Edge TPU可以使机器学习任务快速且高效。这项技术适用于电力、计算资源和连接性有限的应用。Edge TPU是谷歌推出的硬件加速器,它加快了边缘设备上的TensorFlow Lite模型。下图展示了所涉及过程的一个示例。
Edge TPU与量化模型协同工作。量化使模型更小、更快,且不会损失太多准确性。它非常适合边缘计算的有限资源,允许应用程序通过减少延迟和允许快速本地数据处理来快速响应,而无需依赖云端。本地处理还保持了用户数据的私密性和安全性,因为数据不会发送到远程服务器。
以下是使TFLite Edge TPU成为开发者选择的模型格式的关键特性:
在边缘设备上的优化性能:TFLite Edge TPU通过量化、模型优化、硬件加速和编译器优化实现了高速神经网络性能。其简约的架构有助于其更小的尺寸和成本效益。
高计算吞吐量:TFLiteEdge TPU结合了专门的硬件加速和高效的运行时执行,实现了高计算吞吐量。它非常适合在边缘设备上部署具有严格性能要求的机器学习模型。
高效的矩阵计算:TensorFlow Edge TPU针对矩阵操作进行了优化,这对于神经网络计算至关重要。这种效率是机器学习模型的关键,特别是那些需要大量和复杂矩阵乘法和变换的模型。
在深入了解如何将YOLO11模型导出到TFLite Edge TPU格式之前,让了解一下TFLite Edge TPU模型通常在哪里使用。
TFLite Edge TPU为机器学习模型提供了多种部署选项,包括:
设备上的部署:TensorFlow Edge TPU模型可以直接部署在移动和嵌入式设备上。设备上的部署允许模型直接在硬件上执行,消除了对云连接的需求。
与云TensorFlow TPUs的边缘计算:在边缘设备处理能力有限的场景中,TensorFlow Edge TPUs可以将推理任务卸载到配备TPUs的云服务器上。
混合部署:混合方法结合了设备上和云端部署,为部署机器学习模型提供了灵活且可扩展的解决方案。优势包括设备上处理以快速响应和云计算用于更复杂的计算。
可以通过将YOLO11模型转换为TensorFlow Edge TPU来扩展模型的兼容性和部署灵活性。
要安装所需的包,请运行:
pip install 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格式后,现在可以部署它们了。运行TFLite Edge TPU模型的主要和推荐的第一步是使用YOLO("model_edgetpu.tflite")方法,如前一个使用代码片段中所述。
然而,有关部署TFLite Edge TPU模型的深入说明,请查看以下资源:
:了解如何将Coral Edge TPUs与Raspberry Pi集成以增强机器学习能力。
:获取实用的TensorFlow Edge TPU部署示例,以启动项目。