YOLO Vision 2026:

从 YOLO26 模型格式导出为 TF.js 模型格式#

已弃用 — 由 LiteRT 取代

Ultralytics 8.4.83 开始,tfjs (TensorFlow.js) 导出格式已被移除,并由统一的 Google LiteRT 格式取代。LiteRT 通过 LiteRT.js(支持 WebGPU 加速)在浏览器中运行——通过单一的 .tflite 模型,同时涵盖了 TF.js 之前处理的浏览器端和 Node.js 用例,以及移动端、嵌入式和边缘端。

format="tfjs" 仍然有效,但会发出弃用警告并改为导出一个 LiteRT 模型。未来请使用 format="litert";有关当前的导出说明和浏览器部署路径,请参阅 LiteRT 导出指南

直接在浏览器或 Node.js 上部署机器学习模型可能会比较棘手。你需要确保模型格式针对更高性能进行了优化,以便该模型可用于在用户的设备本地运行交互式应用程序。TensorFlow.js(或称 TF.js)模型格式旨在以最低的功耗提供高性能。

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

为什么要导出为 TF.js?#

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

TensorFlow.js browser ML inference architecture

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

TF.js 的主要功能#

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

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

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

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

使用 TensorFlow.js 的部署选项#

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

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

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

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

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

将 YOLO26 模型导出为 TensorFlow.js#

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

安装#

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

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

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

用法#

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

tfjs 参数现在导出一个 LiteRT .tflite 模型,该模型在本地支持导出预测验证模式,并通过 LiteRT.js 在浏览器中运行。有关当前的浏览器和端侧部署路径,请参阅 LiteRT 导出指南

导出
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
预测与验证

导出的 LiteRT .tflite 模型可直接通过 yolo predictyolo val 加载,并通过 LiteRT.js 在浏览器中运行。请参阅 LiteRT 导出指南

导出参数#

参数类型默认值描述
formatstr'tfjs'导出模型的目标格式,定义了与各种部署环境的兼容性。
imgszinttuple640模型输入的所需图像大小。对于正方形图像可以是整数,或者对于特定尺寸可以是元组 (height, width)
quantizeintstrNone量化精度:8(静态 INT8,int8 权重 + int8 激活;需要校准 data/fraction)、'w8a16'(静态,int8 权重 + int16 激活;需要校准 data/fraction)、'w8a32'(动态 INT8,int8 权重 + FP32 激活;无需校准),或 32/未设置(FP32)。FP16 不会单独导出——FP32 模型在 GPU 委托上会自动以 FP16 运行。替代了已弃用的 half/int8 标志。
batchint1指定导出模型的批处理推理大小,或导出的模型在 predict 模式下同时处理的最大图像数量。
datastrNonedataset YAML 的路径,对量化至关重要;分类则采用数据集目录或内置数据集名称。如果在 quantize=8'w8a16' 中省略,Ultralytics 将为模型任务选择默认的校准数据集。
fractionfloatintlist1.0校准子集作为比例、图像数量或 [train, val] 比例/数量;列表限制 trainval,而 test 保持完整。
devicestrNone指定用于导出的设备:CPU (device=cpu),用于 Apple 芯片的 MPS (device=mps)。

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

部署已导出的 YOLO26 TensorFlow.js 模型#

既然你已经导出了 YOLO26 模型,下一步就是部署它。导出生成了一个 LiteRT .tflite 模型,该模型可在端侧运行并通过 LiteRT.js 在浏览器中运行——请参阅 LiteRT 导出指南了解当前路径。

供参考,遗留的 TensorFlow.js 运行时资源如下:

总结#

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

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

有关将 Ultralytics YOLO26 与其他平台和框架集成的更多信息,别忘了查看我们的集成指南页面。这里包含丰富的资源,可帮助你在项目中充分利用 YOLO26。

常见问题解答#

  • 将 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="litert", imgsz=640)  # use imgsz=224 for classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

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

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

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

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

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

  • TensorFlow.js 的主要功能包括:

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

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

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

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

评论