Meet YOLO26: next-gen vision AI.

Link to this section从 YOLO26 模型格式导出为 TF.js 模型格式#

直接在浏览器或 Node.js 中部署 机器学习 模型可能会很棘手。你需要确保模型格式经过优化以获得更快的性能,以便模型能够在用户的设备上本地运行交互式应用程序。TensorFlow.js (即 TF.js) 模型格式旨在以最低的功耗提供快速的性能。

“导出为 TF.js 模型格式”功能允许你优化 Ultralytics YOLO26 模型,以实现高速和本地运行的 目标检测 推理。在本指南中,我们将指导你将模型转换为 TF.js 格式,使你的模型更容易在各种本地浏览器和 Node.js 应用程序中良好运行。

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

将你的机器学习模型导出为 TensorFlow.js(由 TensorFlow 团队开发,是更广泛的 TensorFlow 生态系统的一部分)为部署机器学习应用程序提供了诸多优势。它通过将敏感数据保留在设备上来增强用户隐私和安全性。下图展示了 TensorFlow.js 架构,以及机器学习模型如何转换并部署在 Web 浏览器和 Node.js 上。

TensorFlow.js browser ML inference architecture

本地运行模型还能减少延迟,并提供更具响应性的用户体验。TensorFlow.js 还具备离线功能,允许用户在没有网络连接的情况下使用你的应用程序。TF.js 专为在资源受限的设备上高效执行复杂模型而设计,它针对可扩展性进行了工程设计,并支持 GPU 加速。

Link to this sectionTF.js 的主要功能#

以下是使 TF.js 成为开发人员强大工具的主要功能:

  • 跨平台支持: TensorFlow.js 可用于浏览器和 Node.js 环境,为跨不同平台的部署提供了灵活性。它使开发人员能够更轻松地构建和部署应用程序。

  • 支持多种后端: TensorFlow.js 支持多种计算后端,包括 CPU、用于 GPU 加速的 WebGL、用于近乎原生执行速度的 WebAssembly (WASM),以及用于高级浏览器机器学习功能的 WebGPU。

  • 离线功能: 有了 TensorFlow.js,模型无需互联网连接即可在浏览器中运行,从而可以开发功能完备的离线应用程序。

Link to this section使用 TensorFlow.js 的部署选项#

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

TF.js 为部署你的机器学习模型提供了一系列选择:

  • 浏览器内机器学习应用程序: 你可以构建直接在浏览器中运行机器学习模型的 Web 应用程序。消除了对服务器端计算的需求,并减轻了服务器负载。

  • Node.js 应用程序: TensorFlow.js 也支持在 Node.js 环境中部署,从而能够开发服务器端机器学习应用程序。这对于需要服务器计算能力或访问服务器端数据的应用程序特别有用。

  • Chrome 扩展程序: 一个有趣的部署场景是使用 TensorFlow.js 创建 Chrome 扩展程序。例如,你可以开发一个扩展,允许用户在任何网页上右键点击图像,使用预训练的 ML 模型对其进行分类。TensorFlow.js 可以集成到日常 Web 浏览体验中,提供基于机器学习的即时洞察或增强功能。

Link to this section将 YOLO26 模型导出为 TensorFlow.js#

你可以通过将 YOLO26 模型转换为 TF.js 来扩展模型的兼容性和部署灵活性。

Link to this section安装#

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

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

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

Link to this section用法#

所有 Ultralytics YOLO26 模型 都设计为开箱即用支持导出,这使得将它们集成到你首选的部署工作流中变得非常容易。你可以 查看支持的导出格式和配置选项的完整列表,为你的应用选择最佳设置。

TF.js 格式在 Ultralytics 中是仅导出格式 — 预测验证 功能无法在本地使用。请使用 TensorFlow.js 运行时在浏览器或 Node.js 应用程序中部署导出的模型。

导出
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'
预测与验证

Ultralytics 不提供本地 TF.js 推理后端,因此 yolo predictyolo val 无法加载 _web_model。请在你的 Web 或 Node.js 应用程序中使用 TensorFlow.js 运行时运行导出的模型。

Link to this section导出参数#

参数类型默认值描述
formatstr'tfjs'导出模型的目标格式,定义了与各种部署环境的兼容性。
imgszinttuple640模型输入的期望图像尺寸。可以是一个用于正方形图像的整数,或者是一个用于特定尺寸的元组 (height, width)
quantizeintstrNone量化精度:16 (FP16) 或 8 (INT8/PTQ;需要校准 data/fraction);32/未设置则为 FP32。该参数替代了已弃用的 half/int8 标志。
nmsboolFalse添加非极大值抑制 (NMS),这是准确高效的检测后处理所必需的。
batchint1指定导出模型的推理批次大小,或导出模型在 predict 模式下并发处理的最大图像数量。
datastr'coco8.yaml'指向 dataset 配置文件的路径(默认值:coco8.yaml),这对量化至关重要。
fractionfloat1.0指定用于 INT8 量化校准的数据集比例。允许在完整数据集的一个子集上进行校准,这对实验或资源受限时非常有用。如果启用 INT8 但未指定,将使用完整数据集。
devicestrNone指定导出设备:CPU (device=cpu),Apple 芯片的 MPS (device=mps)。

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

Link to this section部署已导出的 YOLO26 TensorFlow.js 模型#

既然你已经将 YOLO26 模型导出为 TF.js 格式,下一步就是部署它。Ultralytics 不提供本地 TF.js 推理后端,因此导出的 _web_model 旨在直接与浏览器或 Node.js 应用程序中的 TensorFlow.js 运行时一起运行。

有关部署 TF.js 模型的深入说明,请查看以下资源:

Link to this section总结#

在本指南中,我们学习了如何将 Ultralytics YOLO26 模型导出为 TensorFlow.js 格式。通过导出为 TF.js,你可以获得在各种平台上优化、部署和扩展 YOLO26 模型的灵活性。

有关用法的更多详细信息,请访问 TensorFlow.js 官方文档

有关将 Ultralytics YOLO26 与其他平台和框架集成的更多信息,请务必查看我们的 集成指南页面。它充满了优秀的资源,可以帮助你在项目中充分利用 YOLO26。

Link to this section常见问题解答#

Link to this section我该如何将 Ultralytics YOLO26 模型导出为 TensorFlow.js 格式?#

将 Ultralytics YOLO26 模型导出为 TensorFlow.js (TF.js) 格式非常简单。你可以按照以下步骤操作:

用法
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Deploy the exported '_web_model' with the TensorFlow.js runtime in a browser or Node.js app.
# Ultralytics does not provide a local TF.js inference backend.

有关支持的导出选项的更多详细信息,请访问 Ultralytics 关于部署选项的文档页面

Link to this section为什么我应该将我的 YOLO26 模型导出为 TensorFlow.js?#

将 YOLO26 模型导出为 TensorFlow.js 具有多项优势,包括:

  1. 本地执行: 模型可以直接在浏览器或 Node.js 中运行,减少延迟并增强用户体验。
  2. 跨平台支持: TF.js 支持多种环境,为部署提供了灵活性。
  3. 离线功能: 使应用程序能够在没有互联网连接的情况下运行,确保了可靠性和隐私。
  4. GPU 加速: 利用 WebGL 进行 GPU 加速,从而优化在资源受限设备上的性能。

Link to this sectionTensorFlow.js 如何使基于浏览器的机器学习应用程序受益?#

TensorFlow.js 专为在浏览器和 Node.js 环境中高效执行 ML 模型而设计。它对基于浏览器的应用程序的好处如下:

  • 减少延迟: 在本地运行机器学习模型,无需依赖服务器端计算即可提供即时结果。
  • 提高隐私性: 将敏感数据保留在用户的设备上,从而最大限度地减少安全风险。
  • 支持离线使用: 模型无需互联网连接即可运行,确保了功能的一致性。
  • 支持多种后端: 提供 CPU、WebGL、WebAssembly (WASM) 和 WebGPU 等后端,以满足不同的计算需求,非常灵活。

有兴趣了解更多关于 TF.js 的信息吗?请查看 官方 TensorFlow.js 指南

Link to this section部署 YOLO26 模型时,TensorFlow.js 的主要功能是什么?#

TensorFlow.js 的主要功能包括:

  • 跨平台支持: TF.js 可用于 Web 浏览器和 Node.js,提供广泛的部署灵活性。
  • 多种后端: 支持 CPU、用于 GPU 加速的 WebGL、WebAssembly (WASM) 以及用于高级操作的 WebGPU。
  • 离线功能: 模型无需互联网连接即可直接在浏览器中运行,非常适合开发响应式 Web 应用程序。

有关部署场景和更深入的信息,请参阅我们关于 使用 TensorFlow.js 的部署选项 的部分。

Link to this section我可以使用 TensorFlow.js 在服务器端 Node.js 应用程序上部署 YOLO26 模型吗?#

是的,TensorFlow.js 允许在 Node.js 环境中部署 YOLO26 模型。这使得服务器端机器学习应用程序能够受益于服务器的计算能力和对服务器端数据的访问。典型的用例包括后端服务器上的实时数据处理和机器学习管道。

要开始 Node.js 部署,请参考 TensorFlow 提供的 在 Node.js 中运行 TensorFlow.js 指南。

评论