学习如何将 YOLO26 模型导出为 TFLite Edge TPU 格式
在计算能力有限的设备(如移动设备或嵌入式系统)上部署计算机视觉模型可能会比较棘手。使用针对更高性能优化的模型格式可以简化这一过程。TensorFlow Lite Edge TPU 或 TFLite Edge TPU 模型格式旨在以极低的功耗为神经网络提供快速性能。
TFLite Edge TPU 格式导出功能允许你针对高速和低功耗推理优化 Ultralytics YOLO26 模型。在本指南中,我们将带你了解如何将模型转换为 TFLite Edge TPU 格式,使你的模型更容易在各种移动和嵌入式设备上出色运行。
为什么要导出为 TFLite Edge TPU?
将模型导出为 TensorFlow Edge TPU 可以使 机器学习 任务变得快速且高效。这项技术适用于功耗、计算资源和连接性受限的应用场景。Edge TPU 是 Google 开发的硬件加速器,它能加速边缘设备上的 TensorFlow Lite 模型。下图展示了该过程的示例。
Edge TPU 与量化模型配合使用。量化可以在不损失太多 精度 的情况下使模型变得更小、更快。这非常适合边缘计算的有限资源,通过降低延迟和允许在本地快速处理数据来提高应用响应速度,而无需依赖云端。本地处理还能将用户数据保留在本地,确保持续的私密性和安全性,因为数据不会发送到远程服务器。
TFLite Edge TPU 的主要特性
以下是使 TFLite Edge TPU 成为开发者理想模型格式选择的关键特性:
-
边缘设备上的优化性能:TFLite Edge TPU 通过量化、模型优化、硬件加速和编译器优化实现了高速的神经网络性能。其极简架构有助于减小体积并提升成本效益。
-
高计算吞吐量:TFLite Edge TPU 结合了专用硬件加速和高效的运行时执行,从而实现了高计算吞吐量。它非常适合在边缘设备上部署具有严格性能要求的机器学习模型。
-
高效矩阵计算:TensorFlow Edge TPU 针对矩阵运算进行了优化,这对于 神经网络 计算至关重要。这种效率在机器学习模型中非常关键,尤其是那些需要大量复杂矩阵乘法和变换的模型。
使用 TFLite Edge TPU 的部署选项
在开始了解如何将 YOLO26 模型导出为 TFLite Edge TPU 格式之前,我们先了解一下 TFLite Edge TPU 模型通常的使用场景。
TFLite Edge TPU 为机器学习模型提供了多种部署选项,包括:
-
设备端部署:TensorFlow Edge TPU 模型可以直接部署在移动和嵌入式设备上。设备端部署允许模型直接在硬件上执行,无需云连接,既可以将模型嵌入到应用包中,也可以按需下载。
-
结合云端 TensorFlow TPU 的边缘计算:在边缘设备处理能力有限的情况下,TensorFlow Edge TPU 可以将推理任务卸载到配备有 TPU 的云服务器上。
-
混合部署:混合方法结合了设备端和云端部署,为部署机器学习模型提供了一种通用且可扩展的解决方案。其优点包括通过设备端处理实现快速响应,以及通过 云计算 进行更复杂的计算。
将 YOLO26 模型导出为 TFLite Edge TPU
通过将 YOLO26 模型转换为 TensorFlow Edge TPU,你可以扩展模型的兼容性和部署灵活性。
安装
要安装所需的包,请运行:
# Install the required package for YOLO26
pip install ultralytics有关安装过程的详细说明和最佳实践,请查看我们的 Ultralytics 安装指南。如果在安装 YOLO26 所需的软件包时遇到任何困难,请查阅我们的 常见问题指南 获取解决方案和建议。
使用方法
所有 Ultralytics YOLO26 模型 均设计为支持直接开箱导出,使你能够轻松将其集成到你首选的部署工作流中。你可以查看支持的导出格式和配置选项的完整列表,为你的应用选择最佳设置。
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")导出参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'edgetpu' | 导出模型的目标格式,定义与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入的所需图像尺寸。可以是正方形图像的整数,也可以是特定维度的元组 (height, width)。 |
int8 | bool | True | 激活 INT8 量化,进一步压缩模型并以极小的准确性损失加快推理速度,主要适用于边缘设备。 |
data | str | 'coco8.yaml' | 数据集配置文件的路径(默认:coco8.yaml),这对量化至关重要。 |
fraction | float | 1.0 | 指定用于 INT8 量化校准的数据集比例。允许在完整数据集的子集上进行校准,这对于实验或资源受限时非常有用。如果在启用 INT8 时未指定,将使用完整数据集。 |
device | str | None | 指定导出时使用的设备:CPU (device=cpu)。 |
在导出到 EdgeTPU 时,请务必使用 x86 Linux 机器。
有关导出过程的更多详细信息,请访问 Ultralytics 导出文档页面。
部署导出的 YOLO26 TFLite Edge TPU 模型
成功将你的 Ultralytics YOLO26 模型导出为 TFLite Edge TPU 格式后,你现在就可以部署它们了。运行 TFLite Edge TPU 模型的主要且首选的第一步是使用 YOLO("model_edgetpu.tflite") 方法,如之前的用法代码片段中所述。
不过,如需深入了解部署 TFLite Edge TPU 模型的详细说明,请查看以下资源:
-
在 Raspberry Pi 上使用带有 Ultralytics YOLO26 的 Coral Edge TPU:了解如何将 Coral Edge TPU 与 Raspberry Pi 集成,以增强机器学习能力。
-
代码示例:获取实用的 TensorFlow Edge TPU 部署示例以启动你的项目。
-
使用 Python 在 Edge TPU 上运行推理:探索如何为 Edge TPU 应用使用 TensorFlow Lite Python API,包括设置和使用指南。
总结
在本指南中,我们学习了如何将 Ultralytics YOLO26 模型导出为 TFLite Edge TPU 格式。按照上述步骤,你可以提高 计算机视觉 应用的速度和性能。
欲了解更多用法详情,请访问 Edge TPU 官方网站。
此外,有关其他 Ultralytics YOLO26 集成的更多信息,请访问我们的 集成指南页面。在那里,你将发现宝贵的资源和见解。
常见问题 (FAQ)
如何将 YOLO26 模型导出为 TFLite Edge TPU 格式?
要将 YOLO26 模型导出为 TFLite Edge TPU 格式,你可以遵循以下步骤:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")有关将模型导出为其他格式的完整详细信息,请参阅我们的 导出指南。
将 YOLO26 模型导出为 TFLite Edge TPU 有什么好处?
将 YOLO26 模型导出为 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 模型时遇到问题,请参阅我们的 常见问题指南 获取故障排除提示。该指南涵盖了常见问题和解决方案,以帮助你确保顺利操作。如需进一步支持,请访问我们的 帮助中心。