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 还具备离线功能,允许用户即使在没有互联网连接的情况下也能使用你的应用程序。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 sectionTensorFlow.js 的部署选项#
在我们深入研究将 YOLO26 模型导出为 TF.js 格式的过程之前,让我们先探讨一些使用此格式的典型部署场景。
TF.js 为部署你的机器学习模型提供了一系列选择:
-
浏览器内机器学习应用程序: 你可以构建直接在浏览器中运行机器学习模型的 Web 应用程序。不再需要服务器端计算,并降低了服务器负载。
-
Node.js 应用程序: TensorFlow.js 还支持在 Node.js 环境中部署,从而能够开发服务器端机器学习应用程序。这对于需要服务器计算能力或访问服务器端数据的应用程序特别有用。
-
Chrome 扩展程序: 一个有趣的部署场景是使用 TensorFlow.js 创建 Chrome 扩展程序。例如,你可以开发一个扩展程序,允许用户在任何网页上的图像上点击右键,从而使用预训练的机器学习模型对其进行分类。TensorFlow.js 可以集成到日常的网络浏览体验中,以提供基于机器学习的即时洞察或增强功能。
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 predict 和 yolo val 无法加载 _web_model。请改用 TensorFlow.js 运行时在你的 Web 或 Node.js 应用程序中运行导出的模型。
Link to this section导出参数#
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'tfjs' | 导出模型的目标格式,定义了与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入的所需图像尺寸。可以是一个用于正方形图像的整数,或者是一个用于特定尺寸的元组 (height, width)。 |
half | bool | False | 启用 FP16(半精度)量化,可减小模型大小并可能在受支持的硬件上加快推理速度。 |
int8 | bool | False | 激活 INT8 量化,进一步压缩模型并以极小的 accuracy 损失加快推理速度,主要用于边缘设备。 |
nms | bool | False | 添加非极大值抑制(NMS),这对实现准确且高效的检测后处理至关重要。 |
batch | int | 1 | 指定导出模型的批量推理大小,或导出模型在 predict 模式下并发处理的最大图像数量。 |
data | str | 'coco8.yaml' | 指向 dataset 配置文件的路径(默认为 coco8.yaml),对于量化至关重要。 |
fraction | float | 1.0 | 指定用于 INT8 量化校准的数据集比例。允许在完整数据集的子集上进行校准,这对于实验或资源受限时非常有用。如果在启用 INT8 时未指定此参数,则将使用完整数据集。 |
device | str | None | 指定用于导出的设备: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 模型的深入说明,请查看以下资源:
-
Chrome 扩展程序:这里是关于如何将 TF.js 模型部署到 Chrome 扩展程序的开发者文档。
-
在 Node.js 中运行 TensorFlow.js:一篇关于直接在 Node.js 中运行 TensorFlow.js 的 TensorFlow 博客文章。
-
部署 TensorFlow.js - 云平台上的 Node 项目:一篇关于在云平台上部署 TensorFlow.js 模型的 TensorFlow 博客文章。
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 具有以下几个优势:
- 本地执行: 模型可以直接在浏览器或 Node.js 中运行,从而降低延迟并增强用户体验。
- 跨平台支持: TF.js 支持多种环境,部署非常灵活。
- 离线功能: 使应用程序能够在没有互联网连接的情况下运行,从而确保可靠性和隐私性。
- GPU 加速: 利用 WebGL 进行 GPU 加速,优化了资源受限设备上的性能。
Link to this sectionTensorFlow.js 如何使浏览器机器学习应用程序受益?#
TensorFlow.js 专为在浏览器和 Node.js 环境中高效执行机器学习模型而设计。它对浏览器应用程序的益处如下:
- 降低延迟: 在本地运行机器学习模型,无需依赖服务器端计算即可提供即时结果。
- 提高隐私性: 将敏感数据保留在用户设备上,最大限度地减少安全风险。
- 支持离线使用: 模型可以在没有互联网连接的情况下运行,确保了功能的一致性。
- 支持多种后端: 通过 CPU、WebGL、WebAssembly (WASM) 和 WebGPU 等后端提供了灵活性,满足各种计算需求。
想了解更多关于 TF.js 的信息吗?请查看 TensorFlow.js 官方指南。
Link to this sectionTensorFlow.js 部署 YOLO26 模型有哪些关键特性?#
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 指南。