跳至内容

学习从YOLO11 模型导出至 TFLite EdgeTPU 格式

在计算能力有限的设备(如移动或嵌入式系统)上部署计算机视觉模型可能非常棘手。使用为提高性能而优化的模型格式可以简化这一过程。TensorFlow LiteEdgeTPU或 TFLite EdgeTPU 模型格式旨在使用最少的功率,同时为神经网络提供快速性能。

导出到 TFLite EdgeTPU 格式的功能允许您优化您的 Ultralytics YOLO11模型进行高速和低功耗推理。在本指南中,我们将指导您将模型转换为 TFLite EdgeTPU 格式,使您的模型更容易在各种移动和嵌入式设备上良好运行。

为什么要导出到 TFLite EdgeTPU ?

将模型导出到 TensorFlowEdgeTPU 使机器学习任务变得快速高效。这项技术适用于功率、计算资源和连接能力有限的应用。EdgeTPU 是Google 的硬件加速器。它加快了TensorFlow Lite 模型在边缘设备上的运行速度。下图显示了相关过程的示例。

TFLite EdgeTPU

边缘TPU 可使用量化模型。量化可使模型更小、更快,而不会损失太多准确性。它是边缘计算有限资源的理想选择,通过减少延迟和在本地快速处理数据,使应用程序能够快速响应,而无需依赖云。本地处理还能保证用户数据的私密性和安全性,因为数据不会发送到远程服务器。

TFLite Edge 的主要功能TPU

以下是使 TFLite EdgeTPU 成为开发人员最佳模型格式选择的主要功能:

  • 优化边缘设备的性能:TFLite EdgeTPU 通过量化、模型优化、硬件加速和编译器优化实现了高速神经网络性能。其简约的架构使其体积更小,成本更低。

  • 高计算吞吐量:TFLite EdgeTPU 结合了专门的硬件加速和高效的运行时执行,以实现高计算吞吐量。它非常适合在边缘设备上部署对性能有严格要求的机器学习模型。

  • 高效矩阵计算:TensorFlow EdgeTPU 针对矩阵运算进行了优化,这对神经网络计算至关重要。这种效率是机器学习模型的关键,尤其是那些需要大量复杂矩阵乘法和变换的模型。

TFLite Edge 的部署选项TPU

在了解如何将YOLO11 模型导出为 TFLite EdgeTPU 格式之前,我们先来了解一下 TFLite EdgeTPU 模型通常用在什么地方。

TFLite EdgeTPU 为机器学习模型提供各种部署选项,包括

  • 设备上部署:TensorFlow 边缘TPU 模型可直接部署在移动和嵌入式设备上。设备上部署允许模型直接在硬件上执行,无需云连接。

  • 使用云TensorFlow TPU的边缘计算:在边缘设备处理能力有限的情况下,TensorFlow Edge TPU 可将推理任务卸载到配备 TPU 的云服务器上。

  • 混合部署:混合部署方法结合了设备上部署和云计算部署,为部署机器学习模型提供了一个多功能、可扩展的解决方案。其优势包括:设备上处理可实现快速响应,云计算可实现更复杂的计算。

将YOLO11 模型导出到 TFLite EdgeTPU

您可以通过将YOLO11 型号转换为TensorFlow EdgeTPU 来扩展型号兼容性和部署灵活性。

安装

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

安装

# Install the required package for YOLO11
pip install ultralytics

有关安装过程的详细说明和最佳实践,请查阅我们的Ultralytics 安装指南。在安装YOLO11 所需的软件包时,如果遇到任何困难,请查阅我们的常见问题指南,了解解决方案和技巧。

使用方法

在了解使用说明之前,需要注意的是,虽然Ultralytics YOLO11 的所有 型号都可以导出,但您可以在此确保您选择的型号支持导出功能。

使用方法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo11n_full_integer_quant_edgetpu.tflite'

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

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'

# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'

出口参数

论据 类型 默认值 说明
format str 'edgetpu' 导出模型的目标格式,定义与各种部署环境的兼容性。
imgsz inttuple 640 模型输入所需的图像尺寸。对于正方形图像,可以是一个整数,或者是一个元组 (height, width) 了解具体尺寸。

有关导出过程的更多详情,请访问Ultralytics 有关导出的文档页面

部署导出YOLO11 TFLite EdgeTPU 型号

成功将Ultralytics YOLO11 模型导出为 TFLite EdgeTPU 格式后,现在就可以部署它们了。运行 TFLite EdgeTPU 模型的首要和推荐的第一步是使用YOLO("model_edgetpu.tflite") 方法,如前面的使用代码片段所述。

不过,有关部署 TFLite EdgeTPU 型号的深入说明,请参阅以下资源:

摘要

在本指南中,我们学习了如何将Ultralytics YOLO11 模型导出为 TFLite EdgeTPU 格式。按照上述步骤操作,您可以提高计算机视觉应用程序的速度和功能。

有关使用的更多详情,请访问EdgeTPU 官方网站

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

常见问题

如何将YOLO11 模型导出为 TFLite EdgeTPU 格式?

要将YOLO11 模型导出为 TFLite EdgeTPU 格式,可以按照以下步骤操作:

使用方法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo11n_full_integer_quant_edgetpu.tflite'

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

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'

# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'

有关将模型导出为其他格式的完整详细信息,请参阅我们的导出指南

将YOLO11 模型导出到 TFLite EdgeTPU 有什么好处?

将YOLO11 模型导出到 TFLite EdgeTPU 有几个好处:

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

这使其成为边缘计算应用的理想选择,因为设备的功率和计算资源有限。进一步了解为什么要出口

我可以在移动和嵌入式设备上部署 TFLite EdgeTPU 型号吗?

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

TFLite EdgeTPU 型号有哪些常见用途?

TFLite EdgeTPU 型号的常见使用情况包括:

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

这些应用得益于 TFLite EdgeTPU 型号的高性能和低功耗。了解更多使用场景

如何在导出或部署 TFLite EdgeTPU 模型时排除故障?

如果您在导出或部署 TFLite EdgeTPU 模型时遇到问题,请参阅我们的常见问题指南了解故障排除技巧。本指南涵盖常见问题和解决方案,可帮助您确保顺利运行。如需更多支持,请访问我们的帮助中心

📅创建于 1 年前 ✏️已更新 3 天前

评论