YOLO Vision 2026:

了解如何将 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 是谷歌开发的一款硬件加速器。它在边缘设备上加速 TensorFlow Lite 模型。下图展示了所涉流程的一个示例。

TensorFlow Lite Edge TPU compilation workflow

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 的云服务器上。

  • 混合部署:混合方法结合了设备端和云端部署,为部署机器学习模型提供了多功能且可扩展的解决方案。其优点包括用于快速响应的设备端处理,以及用于更复杂计算的云计算

支持的任务#

Edge TPU 导出支持七个 Ultralytics 任务中的六个。语义分割仅在 YOLO26 中可用,它是唯一带有该头部的系列。不支持深度估计,因为其 INT8 模型会发出 EXP v2 运算符,这是 Edge TPU 编译器无法解析的。

任务YOLOv8YOLO11YOLO26
检测
分割
语义
深度
分类
Pose
OBB

Edge TPU 编译器将它支持的操作映射到加速器上,其余操作则留给 CPU,因此任务支持并不意味着每个操作都在 TPU 上运行。

将 YOLO26 模型导出为 TFLite Edge TPU#

通过将 YOLO26 模型转换为 TensorFlow Edge TPU,你可以扩展模型的兼容性和部署灵活性。

安装#

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

安装
# Install the required package for YOLO26
pip install ultralytics

有关安装过程的详细说明和最佳实践,请查阅我们的 Ultralytics Installation guide。在安装 YOLO26 所需的软件包时,如果遇到任何困难,请参考我们的 Common Issues guide 获取解决方案和提示。

用法#

所有Ultralytics YOLO26 模型都旨在开箱即用支持导出,这使得将它们集成到你首选的部署工作流中变得轻而易举。你可以查看支持的导出格式和配置选项完整列表,为你的应用选择最佳设置。

TFLite Edge TPU 格式支持导出预测验证模式。推理和验证在 Coral Edge TPU 硬件上运行。导出你的模型,然后加载导出的模型以运行推理或验证其精度。

导出
from ultralytics import YOLO

# Load a 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'
预测
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
验证
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

导出参数#

参数类型默认值描述
formatstr'edgetpu'导出模型的目标格式,定义了与各种部署环境的兼容性。
imgszinttuple640模型输入的所需图像大小。对于正方形图像可以是整数,或者对于特定尺寸可以是元组 (height, width)
quantizeintstr8/auto量化精度。8(INT8)是必需的,并且会自动为 Edge TPU 启用,从而在边缘设备上以极小的精度损失压缩模型并加快推理速度。它替换了已弃用的 half/int8 标志。
opsetintNone为中间 ONNX 图指定 ONNX opset 版本。如果未设置,则使用支持的最新版本。
datastrNone数据集 YAML 的路径,对量化至关重要;分类任务则需要数据集目录或内置数据集名称。如果在使用 quantize=8 时省略此项,Ultralytics 将为模型任务选择默认的校准数据集。
fractionfloat1.0指定用于 INT8 量化校准的数据集比例。允许在完整数据集的一个子集上进行校准,这对实验或资源受限时非常有用。如果启用 INT8 但未指定,将使用完整数据集。
devicestrNone指定用于导出的设备: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 模型的深入说明,请查看以下资源:

总结#

在本指南中,我们学习了如何将 Ultralytics YOLO26 模型导出为 TFLite Edge TPU 格式。通过遵循上述步骤,你可以提高计算机视觉应用程序的速度和性能。

有关用法的更多详细信息,请访问 Edge TPU 官方网站

此外,有关其他 Ultralytics YOLO26 集成的更多信息,请访问我们的集成指南页面。在那里,你将发现有价值的资源和见解。

常见问题解答#

  • 要将 YOLO26 模型导出为 TFLite Edge TPU 格式,你可以按照以下步骤操作:

    用法
    from ultralytics import YOLO
    
    # Load a 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 具有多项好处:

    • 优化性能:以最小的功耗实现高速神经网络性能。
    • 降低延迟:无需依赖云端,实现本地快速处理数据。
    • 增强隐私:本地处理确保用户数据的私密性和安全性。

    这使得它非常适合边缘计算中的应用,在这些应用中,设备的电源和计算资源有限。了解更多关于为什么要导出的信息

  • 是的,TensorFlow Lite Edge TPU 模型可以直接部署在移动和嵌入式设备上。这种部署方法允许模型直接在硬件上执行,从而提供更快、更高效的推理。有关集成示例,请查看我们关于在树莓派上部署 Coral Edge TPU 的指南

  • TFLite Edge TPU 模型的常见应用场景包括:

    • 智能相机:增强实时图像和视频分析。
    • 物联网 (IoT) 设备:实现智能家居和工业自动化。
    • 医疗保健:加速医学成像和诊断。
    • 零售业:改善库存管理和客户行为分析。

    这些应用程序受益于 TFLite Edge TPU 模型的高性能和低功耗。发现更多关于使用场景的信息。

  • 如果在导出或部署 TFLite Edge TPU 模型时遇到问题,请参考我们的常见问题指南以获取故障排除提示。本指南涵盖了常见问题和解决方案,可帮助你确保平稳运行。如需其他支持,请访问我们的帮助中心

评论