Ultralytics YOLO27:

了解如何将 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 模型。下图展示了相关流程示例。

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 模型可以直接部署在移动和嵌入式设备上。设备端部署允许模型直接在硬件上运行,无需云连接;你可以将模型嵌入应用程序包中,也可以按需下载模型。

  • 混合部署:混合方式结合设备端部署和云端部署,为部署机器学习模型提供灵活且可扩展的解决方案。其优势包括使用设备端处理实现快速响应,以及使用云计算执行更复杂的计算。

支持的任务#

Edge TPU 导出支持 Ultralytics 七项任务中的六项。语义分割仅适用于 YOLO26,因为只有 YOLO26 系列提供该检测头。不支持深度估计,因为其 INT8 模型会生成 Edge TPU 编译器无法解析的 EXP v2 运算符。

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

Edge TPU 编译器会将其支持的运算映射到加速器上,并将其余运算保留在 CPU 上,因此支持某项任务并不意味着每个运算都会在 TPU 上运行。

将 YOLO26 模型导出为 TFLite Edge TPU#

将 YOLO26 模型转换为 TensorFlow Edge TPU 格式,可以扩展模型兼容性并提高部署灵活性。

安装#

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

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

有关安装流程的详细说明和最佳实践,请参阅我们的 Ultralytics 安装指南。在为 YOLO26 安装所需软件包时,如果遇到任何困难,请参阅我们的常见问题指南以获取解决方案和建议。

使用方法#

所有 Ultralytics YOLO26 模型 都支持开箱即用的导出,因此可以轻松将其集成到你首选的部署工作流中。你可以查看支持的导出格式和配置选项完整列表,为你的应用选择最佳配置。

TFLite Edge TPU 格式支持 ExportPredictValidate 模式。推理和验证在 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'
Predict
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量化精度。Edge TPU 要求使用并自动启用 8(INT8),在边缘设备上以极小的准确率损失压缩模型并加快推理速度。它取代了已弃用的 half/int8 标志。
opsetintNone指定中间 ONNX 图的 ONNX 算子集版本。如果未设置,则使用最新的受支持版本。
datastrNonedataset YAML 文件的路径,是量化所必需的;分类任务则接受数据集目录或内置数据集名称。如果与 quantize=8 一起使用时未指定,Ultralytics 会为该模型任务选择默认校准数据集。
fractionfloatintlist1.0校准子集可以按比例、图像数量或 [train, val, test] 的比例/数量指定。包含两个项目的列表会保留 test 的完整内容,同时跳过 0
devicestrNone指定导出所使用的设备:CPU(device=cpu)。
提示

导出到 Edge TPU 时,请务必使用 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 格式。按照上述步骤操作,你可以提升计算机视觉应用的速度并降低功耗。

有关用法的更多详细信息,请访问 Coral Edge TPU official website

此外,如需了解其他 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 模型能够直接部署在移动和嵌入式设备上。这种部署方式允许模型直接在硬件上运行,从而实现更快速、更高效的推理。如需查看集成示例,请参阅我们的 在 Raspberry Pi 上部署 Coral Edge TPU 的指南

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

    • 智能摄像头:增强实时图像和视频分析。
    • IoT 设备:支持智能家居和工业自动化。
    • 医疗保健:加速医学影像处理和诊断。
    • 零售:改善库存管理和客户行为分析。

    这些应用受益于 TFLite Edge TPU 模型的高性能和低功耗。详细了解更多使用场景

  • 如果你在导出或部署 TFLite Edge TPU 模型时遇到问题,请参阅我们的常见问题指南获取排查建议。本指南涵盖常见问题及其解决方案,帮助你确保系统顺利运行。如需其他支持,请访问我们的帮助中心

评论