Meet YOLO26: next-gen vision AI.

Link to this section如何将 YOLO26 模型导出为 TF GraphDef 以便部署#

在不同环境中部署前沿的 计算机视觉 模型(例如 YOLO26)时,你可能会遇到兼容性问题。Google 的 TensorFlow GraphDef(即 TF GraphDef)通过提供一种序列化且独立于平台的模型表示方式,为你提供了解决方案。使用 TF GraphDef 模型格式,你可以在无法使用完整 TensorFlow 生态系统的环境(例如移动设备或专用硬件)中部署 YOLO26 模型。

在本指南中,我们将带你逐步了解如何将 Ultralytics YOLO26 模型导出为 TF GraphDef 模型格式。通过转换模型,你可以简化部署流程,并在更广泛的应用和平台中使用 YOLO26 的计算机视觉功能。

TensorFlow GraphDef model serialization format

Link to this section为什么要导出为 TF GraphDef?#

TF GraphDef 是由 Google 开发的 TensorFlow 生态系统中的一个强大组件。它可用于优化和部署像 YOLO26 这样的模型。导出为 TF GraphDef 让你可以将模型从研究阶段转移到实际应用中,并使模型能够在不具备完整 TensorFlow 框架的环境中运行。

GraphDef 格式将模型表示为序列化的计算图。这使得各种优化技术(如常量折叠、量化和图形转换)成为可能。这些优化确保了执行效率、减少了内存使用并提高了推理速度。

GraphDef 模型可以使用 GPU、TPU 和 AI 芯片等硬件加速器,从而为 YOLO26 推理流水线带来显著的性能提升。TF GraphDef 格式创建了一个包含模型及其依赖项的自包含包,简化了部署并方便了在不同系统中的集成。

Link to this sectionTF GraphDef 模型的主要功能#

TF GraphDef 提供了独特的功能来简化 模型部署 和优化。

以下是其关键特征:

  • 模型序列化:TF GraphDef 提供了一种以独立于平台的格式序列化和存储 TensorFlow 模型的方法。这种序列化表示允许你在没有原始 Python 代码库的情况下加载和执行模型,从而使部署变得更加容易。

  • 图形优化:TF GraphDef 实现了计算图的优化。这些优化可以通过简化执行流程、减少冗余以及根据特定硬件裁剪操作来提高性能。

  • 部署灵活性:导出为 GraphDef 格式的模型可用于各种环境,包括资源受限的设备、Web 浏览器和配备专用硬件的系统。这为你的 TensorFlow 模型在更广泛的范围内进行部署提供了可能。

  • 生产导向:GraphDef 专为生产部署而设计。它支持高效执行、序列化功能以及符合实际用例的优化。

Link to this section使用 TF GraphDef 的部署选项#

在我们深入探讨将 YOLO26 模型导出到 TF GraphDef 的过程之前,让我们先看看使用此格式的一些典型部署场景。

以下是如何在不同平台上高效使用 TF GraphDef 进行部署的方法。

  • TensorFlow Serving: 该框架旨在生产环境中部署 TensorFlow 模型。TensorFlow Serving 提供模型管理、版本控制以及在大规模环境下高效服务模型的基础设施。这是将基于 GraphDef 的模型集成到生产 Web 服务或 API 中的一种无缝方式。

  • 移动和嵌入式设备: 通过 TensorFlow Lite 等工具,你可以将 TF GraphDef 模型转换为针对智能手机、平板电脑和各种嵌入式设备优化的格式。你的模型随后可用于端侧推理,即在本地完成执行,这通常能提供性能提升并支持离线运行。

  • Web 浏览器: TensorFlow.js 能够直接在 Web 浏览器中部署 TF GraphDef 模型。它为在客户端运行的实时目标检测应用铺平了道路,通过 JavaScript 使用 YOLO26 的功能。

  • 专用硬件: TF GraphDef 与平台无关的特性使其能够针对自定义硬件进行适配,例如加速器和 TPU(张量处理单元)。这些设备可以为计算密集型模型提供性能优势。

Link to this section将 YOLO26 模型导出为 TF GraphDef#

你可以将 YOLO26 目标检测模型转换为与多种系统兼容的 TF GraphDef 格式,以提高其在不同平台上的性能。

Link to this section安装#

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

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

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

Link to this section使用方法#

所有 Ultralytics YOLO26 模型 均设计为支持直接导出,使你可以轻松地将它们集成到你首选的部署工作流中。你可以 查看支持的导出格式和配置选项的完整列表,以便为你的应用选择最佳设置。

TF GraphDef 格式支持 导出预测验证 模式。你可以先导出模型,然后加载导出的模型进行推理或验证其准确性。

导出
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'
预测
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

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

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

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

Link to this section导出参数#

参数类型默认值描述
formatstr'pb'导出模型的目标格式,定义了与各种部署环境的兼容性。
imgszinttuple640模型输入的理想图像尺寸。可以是正方形图像的整数,或者指定维度的元组 (height, width)
batchint1指定导出模型的批量推理尺寸,或导出模型在 predict 模式下并发处理的最大图像数量。
devicestrNone指定导出设备:CPU (device=cpu),Apple 芯片 MPS (device=mps)。

有关导出过程的更多详细信息,请访问 Ultralytics 关于导出的文档页面

Link to this section部署已导出的 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 应用中使用。

Link to this section总结#

在本指南中,我们探索了如何将 Ultralytics YOLO26 模型导出为 TF GraphDef 格式。通过这样做,你可以灵活地在不同环境中部署经过优化的 YOLO26 模型。

有关用法的更多详细信息,请访问 TF GraphDef 官方文档

有关将 Ultralytics YOLO26 与其他平台和框架集成的更多信息,请参阅我们的 集成指南页面

Link to this section常见问题解答 (FAQ)#

Link to this section如何将 YOLO26 模型导出为 TF GraphDef 格式?#

Ultralytics YOLO26 模型可以无缝导出为 TensorFlow GraphDef (TF GraphDef) 格式。这种格式提供了序列化且独立于平台的模型表示方式,非常适合在移动设备和 Web 等多种环境中部署。要将 YOLO26 模型导出为 TF GraphDef,请遵循以下步骤:

使用方法
from ultralytics import YOLO

# Load a 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")

有关不同导出选项的更多信息,请访问 关于模型导出的 Ultralytics 文档

Link to this section将 TF GraphDef 用于 YOLO26 模型部署有哪些好处?#

将 YOLO26 模型导出为 TF GraphDef 格式具有多项优势,包括:

  1. 平台独立性:TF GraphDef 提供了一种独立于平台的格式,允许模型跨各种环境部署,包括移动设备和 Web 浏览器。
  2. 优化:该格式支持多种优化,如常量折叠、量化和图形转换,这增强了执行效率并减少了内存使用。
  3. 硬件加速:TF GraphDef 格式的模型可以利用 GPU、TPU 和 AI 芯片等硬件加速器来获取性能提升。

阅读我们文档中关于 TF GraphDef 部分 的更多信息。

Link to this section为什么我应该选择 Ultralytics YOLO26 而不是其他 目标检测 模型?#

与 YOLOv5 和 YOLOv7 等其他模型相比,Ultralytics YOLO26 具有众多优势。一些关键好处包括:

  1. State-of-the-Art Performance: YOLO26 provides exceptional speed and accuracy for real-time object detection, instance segmentation, semantic segmentation, and classification.
  2. 易用性:提供用户友好的 API 用于模型训练、验证、预测和导出,使初学者和专家都能轻松上手。
  3. 广泛的兼容性:支持多种导出格式,包括 ONNX、TensorRT、CoreML 和 TensorFlow,以实现灵活的部署选项。

在我们的 YOLO26 介绍 中探索更多详细信息。

Link to this section如何使用 TF GraphDef 在专用硬件上部署 YOLO26 模型?#

一旦 YOLO26 模型导出为 TF GraphDef 格式,你就可以将其部署在各种专用硬件平台上。典型的部署场景包括:

  • TensorFlow Serving:使用 TensorFlow Serving 在生产环境中进行可扩展的模型部署。它支持模型管理和高效服务。
  • 移动设备:将 TF GraphDef 模型转换为针对移动和嵌入式设备优化的 TensorFlow Lite,以实现端侧推理。
  • Web 浏览器:使用 TensorFlow.js 部署模型,以便在 Web 应用中进行客户端推理。
  • AI 加速器:利用 TPU 和定制 AI 芯片进行加速推理。

查看 部署选项 部分以获取详细信息。

Link to this section在哪里可以找到导出 YOLO26 模型时常见问题的解决方案?#

对于导出 YOLO26 模型时遇到的常见问题,Ultralytics 提供了全面的指南和资源。如果你在安装或模型导出过程中遇到问题,请参考:

这些资源应该能帮助你解决与 YOLO26 模型导出和部署相关的大多数问题。

评论