Link to this section如何将 YOLO26 模型导出为 TF GraphDef 以便部署#
在不同环境中部署前沿的 计算机视觉 模型(例如 YOLO26)时,你可能会遇到兼容性问题。Google 的 TensorFlow GraphDef(即 TF GraphDef)通过提供一种序列化且独立于平台的模型表示方式,为你提供了解决方案。使用 TF GraphDef 模型格式,你可以在无法使用完整 TensorFlow 生态系统的环境(例如移动设备或专用硬件)中部署 YOLO26 模型。
在本指南中,我们将带你逐步了解如何将 Ultralytics YOLO26 模型导出为 TF GraphDef 模型格式。通过转换模型,你可以简化部署流程,并在更广泛的应用和平台中使用 YOLO26 的计算机视觉功能。
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导出参数#
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'pb' | 导出模型的目标格式,定义了与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入的理想图像尺寸。可以是正方形图像的整数,或者指定维度的元组 (height, width)。 |
batch | int | 1 | 指定导出模型的批量推理尺寸,或导出模型在 predict 模式下并发处理的最大图像数量。 |
device | str | None | 指定导出设备: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 格式具有多项优势,包括:
- 平台独立性:TF GraphDef 提供了一种独立于平台的格式,允许模型跨各种环境部署,包括移动设备和 Web 浏览器。
- 优化:该格式支持多种优化,如常量折叠、量化和图形转换,这增强了执行效率并减少了内存使用。
- 硬件加速:TF GraphDef 格式的模型可以利用 GPU、TPU 和 AI 芯片等硬件加速器来获取性能提升。
阅读我们文档中关于 TF GraphDef 部分 的更多信息。
Link to this section为什么我应该选择 Ultralytics YOLO26 而不是其他 目标检测 模型?#
与 YOLOv5 和 YOLOv7 等其他模型相比,Ultralytics YOLO26 具有众多优势。一些关键好处包括:
- State-of-the-Art Performance: YOLO26 provides exceptional speed and accuracy for real-time object detection, instance segmentation, semantic segmentation, and classification.
- 易用性:提供用户友好的 API 用于模型训练、验证、预测和导出,使初学者和专家都能轻松上手。
- 广泛的兼容性:支持多种导出格式,包括 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 模型导出和部署相关的大多数问题。