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