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 sectionTF 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)
quantizeintstrNone修复了 FP32 导出。GraphDef 不支持导出时的 FP16、INT8 或 W8A16 精度转换。
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常见问题解答#

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 模型导出和部署相关的问题。

评论