如何从 YOLO26 导出到 TF GraphDef 以进行部署
在不同环境中部署 YOLO26 等尖端计算机视觉模型时,您可能会遇到兼容性问题。Google 的TensorFlow GraphDef(或 TF GraphDef)通过提供模型的序列化、平台无关表示来解决此问题。使用 TF GraphDef 模型格式,您可以在完整的 TensorFlow 生态系统可能不可用的环境中部署 YOLO26 模型,例如移动设备或专用硬件。
在本指南中,我们将逐步引导您了解如何将您的Ultralytics YOLO26模型导出为 TF GraphDef 模型格式。通过转换模型,您可以简化部署,并在更广泛的应用程序和平台上使用 YOLO26 的计算机视觉功能。

为什么要导出到 TF GraphDef?
TF GraphDef 是由 Google 开发的 TensorFlow 生态系统中的一个强大组件。它可用于优化和部署 YOLO26 等模型。导出为 TF GraphDef 允许您将模型从研究阶段转移到实际应用中。它使得模型能够在没有完整 TensorFlow 框架的环境中运行。
GraphDef 格式将模型表示为序列化的计算图。这支持各种优化技术,例如常量折叠、量化和图转换。这些优化确保了高效的执行、减少的内存使用和更快的推理速度。
GraphDef 模型可以使用 GPU、TPU 和 AI 芯片等硬件加速器,为 YOLO26 推理管道带来显著的性能提升。TF GraphDef 格式创建了一个包含模型及其依赖项的独立软件包,简化了部署和集成到各种系统中的过程。
TF GraphDef 模型的主要特性
TF GraphDef 提供了用于简化模型部署和优化的独特功能。
以下是其主要特性的概览:
模型序列化: TF GraphDef 提供了一种以平台无关的格式序列化和存储 TensorFlow 模型的方法。 这种序列化表示允许您加载和执行模型,而无需原始 python 代码库,从而简化了部署。
图优化: TF GraphDef 支持计算图的优化。这些优化可以通过简化执行流程、减少冗余以及调整操作以适应特定硬件来提高性能。
部署灵活性: 导出为 GraphDef 格式的模型可用于各种环境,包括资源受限的设备、Web 浏览器和具有专用硬件的系统。这为更广泛地部署 TensorFlow 模型开辟了可能性。
专注于生产: GraphDef 专为生产部署而设计。它支持高效执行、序列化功能以及与实际用例相符的优化。
TF GraphDef 的部署选项
在我们深入探讨将 YOLO26 模型导出为 TF GraphDef 的过程之前,让我们先了解一下使用此格式的一些典型部署场景。
以下是如何在各种平台上高效部署 TF GraphDef:
TensorFlow Serving: 此框架旨在生产环境中部署 TensorFlow 模型。TensorFlow Serving 提供模型管理、版本控制以及用于大规模高效模型服务的基础设施。这是一种将基于 GraphDef 的模型无缝集成到生产 Web 服务或 API 中的方法。
移动和嵌入式设备: 借助 TensorFlow Lite 等工具,您可以将 TF GraphDef 模型转换为针对智能手机、平板电脑和各种嵌入式设备优化的格式。然后,您的模型可以用于设备端推理,其中执行在本地完成,通常提供性能提升和离线功能。
Web 浏览器:TensorFlow.js 使得 TF GraphDef 模型可以直接部署在 Web 浏览器中。它为利用 JavaScript 通过 YOLO26 的功能在客户端运行的实时目标检测应用程序铺平了道路。
专用硬件: TF GraphDef 的平台无关性使其能够面向定制硬件,例如加速器和 TPU(张量处理单元)。这些设备可以为计算密集型模型提供性能优势。
将 YOLO26 模型导出到 TF GraphDef
您可以将 YOLO26 目标检测模型转换为 TF GraphDef 格式,该格式与各种系统兼容,从而提高其跨平台的性能。
安装
要安装所需的软件包,请运行:
安装
# 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 TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TF GraphDef format
yolo export model=yolo26n.pt format=pb # creates 'yolo26n.pb'
# Run inference with the exported model
yolo predict model='yolo26n.pb' source='https://ultralytics.com/images/bus.jpg'
导出参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'pb' | 导出模型的目标格式,定义与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入的所需图像大小。 可以是正方形图像的整数或元组 (height, width) 用于指定特定维度。 |
batch | int | 1 | 指定导出模型批处理推理大小或导出模型将并发处理的最大图像数量,在 predict 模式下。 |
device | str | None | 指定导出设备:CPU(device=cpu),适用于 Apple 芯片的 MPS(device=mps)。 |
有关导出过程的更多详细信息,请访问Ultralytics 文档页面上的导出。
部署导出的 YOLO26 TF GraphDef 模型
将 YOLO26 模型导出为 TF GraphDef 格式后,下一步是部署。运行 TF GraphDef 模型的主要且推荐的第一步是使用 YOLO("model.pb") 方法,如前面用法代码片段所示。
但是,有关部署 TF GraphDef 模型的更多信息,请查看以下资源:
TensorFlow Serving: 一份关于 TensorFlow Serving 的指南,该指南讲授如何在生产环境中高效地部署和服务机器学习模型。
TensorFlow Lite: 此页面介绍如何将机器学习模型转换为针对使用 TensorFlow Lite 进行设备上推理优化的格式。
TensorFlow.js: 一份关于模型转换的指南,该指南讲授如何将 TensorFlow 或 Keras 模型转换为 TensorFlow.js 格式,以便在 Web 应用程序中使用。
总结
在本指南中,我们探讨了如何将 Ultralytics YOLO26 模型导出为 TF GraphDef 格式。通过这样做,您可以灵活地在不同环境中部署优化的 YOLO26 模型。
有关使用详情,请访问 TF GraphDef 官方文档。
有关将 Ultralytics YOLO26 与其他平台和框架集成的更多信息,请参阅我们的集成指南页面。
常见问题
如何将 YOLO26 模型导出为 TF GraphDef 格式?
Ultralytics YOLO26 模型可以无缝导出为 TensorFlow GraphDef (TF GraphDef) 格式。此格式提供模型的序列化、平台无关表示,非常适合在移动和 Web 等各种环境中部署。要将 YOLO26 模型导出为 TF GraphDef,请遵循以下步骤:
用法
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TF GraphDef format
yolo export model="yolo26n.pt" format="pb" # creates 'yolo26n.pb'
# Run inference with the exported model
yolo predict model="yolo26n.pb" source="https://ultralytics.com/images/bus.jpg"
有关不同导出选项的更多信息,请访问Ultralytics 模型导出文档。
使用 TF GraphDef 进行 YOLO26 模型部署有哪些优势?
将 YOLO26 模型导出为 TF GraphDef 格式具有多项优势,包括:
- 平台独立性:TF GraphDef 提供了一种平台无关的格式,允许模型部署在各种环境中,包括移动和 Web 浏览器。
- 优化:该格式支持多种优化,例如常量折叠、量化和图转换,从而提高执行效率并减少内存使用。
- 硬件加速: TF GraphDef 格式的模型可以利用硬件加速器,如 GPU、TPU 和 AI 芯片,以提高性能。
在我们的文档的 TF GraphDef 部分中阅读更多关于优势的信息。
相比其他目标检测模型,我为什么要选择 Ultralytics YOLO26?
与 YOLOv5 和 YOLOv7 等其他模型相比,Ultralytics YOLO26 具有众多优势。主要优势包括:
- 最先进的性能:YOLO26 为实时目标检测、分割和分类提供了卓越的速度和accuracy。
- 易于使用:具有用户友好的 API,用于模型训练、验证、预测和导出,使初学者和专家都可以访问。
- 广泛的兼容性: 支持多种导出格式,包括 ONNX、TensorRT、CoreML 和 TensorFlow,以实现通用的部署选项。
在我们的YOLO26 介绍中探索更多详细信息。
如何使用 TF GraphDef 在专用硬件上部署 YOLO26 模型?
一旦 YOLO26 模型导出为 TF GraphDef 格式,您就可以将其部署到各种专用硬件平台。典型的部署场景包括:
- TensorFlow Serving: 使用 TensorFlow Serving 在生产环境中进行可扩展的模型部署。它支持模型管理和高效服务。
- 移动设备: 将 TF GraphDef 模型转换为 TensorFlow Lite,针对移动和嵌入式设备进行了优化,从而实现设备端推理。
- Web 浏览器: 使用 TensorFlow.js 部署模型,以便在 Web 应用程序中进行客户端推理。
- AI 加速器: 利用 TPU 和自定义 AI 芯片来加速推理。
有关详细信息,请查看部署选项部分。
在哪里可以找到导出 YOLO26 模型时常见问题的解决方案?
对于导出 YOLO26 模型时遇到的常见问题,Ultralytics 提供了全面的指南和资源。如果您在安装或模型导出过程中遇到问题,请参阅:
这些资源应该能帮助您解决与 YOLO26 模型导出和部署相关的大多数问题。