Link to this sectionYOLO26 部署选项对比分析#
Link to this section简介#
在 YOLO26 的旅程中,你已经走过了一段很长的路。你勤奋地收集数据,一丝不苟地进行标注,并投入了大量时间来训练和严格评估你的定制 YOLO26 模型。现在,是时候将你的模型投入到特定的应用、用例或项目中去工作了。但你面临着一个关键的决定:如何有效地导出和部署你的模型。
Watch: How to Choose the Best Ultralytics YOLO26 Deployment Format for Your Project | TensorRT | OpenVINO 🚀
本指南将引导你了解 YOLO26 的部署选项,以及在为你的项目选择合适方案时需要考虑的关键因素。
Link to this section如何为你的 YOLO26 模型选择正确的部署选项#
当需要部署你的 YOLO26 模型时,选择合适的导出格式非常重要。正如 Ultralytics YOLO26 模式文档 中所述,model.export() 函数允许你将训练好的模型转换为各种格式,以适配不同的环境和性能需求。
理想的格式取决于你模型的预期运行环境,需要在速度、硬件限制和集成简易性之间取得平衡。对于无需手动导出的托管部署,Ultralytics Platform 提供了现成的 推理端点,可在全球 43 个区域实现自动扩缩容。在接下来的章节中,我们将深入探讨每种导出选项,并了解何时选择哪一种。
Link to this sectionYOLO26 的部署选项#
让我们逐一了解不同的 YOLO26 部署选项。如需导出过程的详细指南,请访问 Ultralytics 关于导出的文档页面。
Link to this sectionPyTorch#
PyTorch 是一个开源机器学习库,广泛用于 深度学习 和 人工智能 领域。它提供了高度的灵活性和速度,这使其成为研究人员和开发人员的最爱。
- 性能基准:PyTorch 以易用性和灵活性著称,与那些更专业和优化的框架相比,其原始性能可能会稍显逊色。
- 兼容性与集成:与 Python 中的各种数据科学和机器学习库具有极佳的兼容性。
- 社区支持与生态系统:拥有最活跃的社区之一,提供丰富的学习和故障排除资源。
- 案例研究:常用于研究原型,许多学术论文都引用了以 PyTorch 部署的模型。
- 维护与更新:定期更新,保持积极开发并支持新功能。
- 安全考量:针对安全问题有定期的补丁,但安全性很大程度上取决于其部署的整体环境。
- 硬件加速:支持 CUDA 进行 GPU 加速,这对加快模型训练和推理至关重要。
Link to this sectionTorchScript#
TorchScript 通过允许导出模型并在 C++ 运行时环境中运行,扩展了 PyTorch 的功能。这使其适用于无法使用 Python 的生产环境。
- 性能基准:在生产环境中,性能通常优于原生 PyTorch。
- 兼容性与集成:专为从 PyTorch 到 C++ 生产环境的无缝过渡而设计,尽管某些高级功能可能无法完美转换。
- 社区支持与生态系统:受益于 PyTorch 的庞大社区,但专业开发人员的范围相对较窄。
- 案例研究:广泛应用于 Python 性能开销成为瓶颈的工业场景。
- 维护与更新:与 PyTorch 同步维护,并提供持续的更新。
- 安全考量:通过允许在没有安装完整 Python 的环境中运行模型,提高了安全性。
- 硬件加速:继承了 PyTorch 的 CUDA 支持,确保了高效的 GPU 利用率。
Link to this sectionONNX#
开放式 神经网络 交换格式 (ONNX) 是一种允许在不同框架间实现模型互操作性的格式,这在部署到各种平台时至关重要。
- 性能基准:ONNX 模型的性能可能会因其部署所在的特定运行时而有所不同。
- 兼容性与集成:由于其与框架无关的特性,在多个平台和硬件之间具有高度的互操作性。
- 社区支持与生态系统:得到许多组织的支持,拥有广阔的生态系统和各种优化工具。
- 案例研究:经常用于在不同的机器学习框架之间迁移模型,展示了其灵活性。
- 维护与更新:作为一种开放标准,ONNX 会定期更新以支持新的运算和模型。
- 安全考量:与任何跨平台工具一样,在转换和部署流水线中确保安全实践至关重要。
- 硬件加速:通过 ONNX Runtime,模型可以利用各种硬件优化。
Link to this sectionOpenVINO#
OpenVINO 是一个 Intel 工具包,旨在促进深度学习模型在 Intel 硬件上的部署,从而提升性能和速度。
- 性能基准:针对 Intel CPU、GPU 和 VPU 进行了专门优化,在兼容硬件上提供显著的性能提升。
- 兼容性与集成:在 Intel 生态系统内运行效果最佳,但也支持一系列其他平台。
- 社区支持与生态系统:由 Intel 提供支持,拥有稳固的用户群,尤其是在 计算机视觉 领域。
- 案例研究:常用于 Intel 硬件普及的物联网和 边缘计算 场景。
- 维护与更新:Intel 会定期更新 OpenVINO,以支持最新的深度学习模型和 Intel 硬件。
- 安全考量:提供适合在敏感应用中部署的强大安全功能。
- 硬件加速:专为 Intel 硬件加速而量身定制,充分利用专用指令集和硬件特性。
有关使用 OpenVINO 部署的更多详细信息,请参阅 Ultralytics 集成文档:Intel OpenVINO Export。
Link to this sectionTensorRT#
TensorRT 是 NVIDIA 的高性能深度学习推理优化器和运行时,非常适合需要速度和效率的应用。
- 性能基准:在 NVIDIA GPU 上提供顶级的性能,并支持高速推理。
- 兼容性与集成:最适合 NVIDIA 硬件,在此环境之外的支持有限。
- 社区支持与生态系统:通过 NVIDIA 的开发者论坛和文档提供强大的支持网络。
- 案例研究:在需要对视频和图像数据进行实时推理的行业中被广泛采用。
- 维护与更新:NVIDIA 通过频繁的更新来维护 TensorRT,以提升性能并支持新的 GPU 架构。
- 安全考量:与许多 NVIDIA 产品一样,它非常重视安全性,但具体细节取决于部署环境。
- 硬件加速:专为 NVIDIA GPU 设计,提供深度优化和加速。
有关 TensorRT 部署的更多信息,请查看 TensorRT 集成指南。
Link to this sectionCoreML#
CoreML 是 Apple 的机器学习框架,针对 Apple 生态系统(包括 iOS、macOS、watchOS 和 tvOS)进行了设备端性能优化。
- 性能基准:针对 Apple 硬件上的设备端性能进行了优化,并最大限度地减少了电池消耗。
- 兼容性与集成:专供 Apple 生态系统使用,为 iOS 和 macOS 应用提供精简的工作流程。
- 社区支持与生态系统:得到 Apple 和专注的开发者社区的强力支持,并拥有丰富的文档和工具。
- 案例研究:常用于需要 Apple 产品上设备端机器学习能力的应用。
- 维护与更新:由 Apple 定期更新,以支持最新的机器学习进步和 Apple 硬件。
- 安全考量:受益于 Apple 对用户隐私和 数据安全 的重视。
- 硬件加速:充分利用 Apple 的神经网络引擎和 GPU 进行加速机器学习任务。
Link to this sectionTF SavedModel#
TF SavedModel 是 TensorFlow 用于保存和提供机器学习模型的格式,特别适用于可扩展的服务器环境。
- 性能基准:在服务器环境中提供可扩展的性能,尤其是在与 TensorFlow Serving 配合使用时。
- 兼容性与集成:在 TensorFlow 生态系统中具有广泛的兼容性,包括云端和企业服务器部署。
- 社区支持与生态系统:由于 TensorFlow 的流行,拥有庞大的社区支持,并提供大量的部署和优化工具。
- 案例研究:广泛用于生产环境中,实现大规模的深度学习模型服务。
- 维护与更新:由 Google 和 TensorFlow 社区提供支持,确保定期的更新和新功能。
- 安全考量:使用 TensorFlow Serving 进行部署时,包含针对企业级应用的强大安全功能。
- 硬件加速:通过 TensorFlow 的后端支持各种硬件加速。
Link to this sectionTF GraphDef#
TF GraphDef 是一种将模型表示为图的 TensorFlow 格式,这对需要静态计算图的环境非常有利。
- 性能基准:为静态计算图提供稳定的性能,专注于一致性和可靠性。
- 兼容性与集成:易于集成到 TensorFlow 的基础设施中,但与 SavedModel 相比灵活性较低。
- 社区支持与生态系统:拥有来自 TensorFlow 生态系统的良好支持,并有许多可用于优化静态图的资源。
- 案例研究:在需要静态图的场景中很有用,例如在某些嵌入式系统中。
- 维护与更新:与 TensorFlow 的核心更新保持定期更新。
- 安全考量:通过 TensorFlow 既定的安全实践确保安全部署。
- 硬件加速:可以使用 TensorFlow 的硬件加速选项,尽管不如 SavedModel 灵活。
在我们的 TF GraphDef 集成指南 中了解更多关于 TF GraphDef 的信息。
Link to this sectionTF Lite#
TF Lite 是 TensorFlow 为移动和嵌入式设备提供的机器学习解决方案,提供了一个用于设备端推理的轻量级库。
- 性能基准:专为移动和嵌入式设备的速度和效率而设计。
- 兼容性与集成:由于其轻量级特性,可用于多种设备。
- 社区支持与生态系统:由 Google 支持,拥有强大的社区和越来越多的开发者资源。
- 案例研究:在需要占用空间极小且具备设备端推理能力的移动应用中很受欢迎。
- 维护与更新:定期更新以包含针对移动设备的最新功能和优化。
- 安全考量:为在最终用户设备上运行模型提供了安全的环境。
- 硬件加速:支持多种硬件加速选项,包括 GPU 和 DSP。
Link to this sectionTF Edge TPU#
TF Edge TPU 专为在 Google 的 Edge TPU 硬件上实现高速、高效计算而设计,非常适合需要实时处理的物联网设备。
- 性能基准:针对 Google Edge TPU 硬件上的高速、高效计算进行了专门优化。
- 兼容性与集成:仅适用于 Edge TPU 设备上的 TensorFlow Lite 模型。
- 社区支持与生态系统:支持力度不断增加,Google 和第三方开发人员提供了相应的资源。
- 案例研究:用于需要低延迟实时处理的物联网设备和应用中。
- 维护与更新:持续改进以利用新 Edge TPU 硬件版本的功能。
- 安全考量:集成了 Google 针对物联网和边缘设备的强大安全保障。
- 硬件加速:专门设计以充分利用 Google Coral 设备。
Link to this sectionHailo HEF#
Hailo HEF 是用于 Hailo AI 加速器(包括 Hailo-8、Hailo-8L 和 Hailo-15 设备)的编译可执行格式。Ultralytics YOLO 检测模型首先导出为 ONNX,然后使用外部 Hailo Dataflow Compiler 编译为 HEF。HEF 不是直接的 Ultralytics 导出目标;对于受支持的边缘加速工作流,请先对比 Axelera AI 和 DeepX。
- 性能基准:取决于 Hailo 硬件、Hailo SDK 版本、模型脚本、NMS 配置和校准数据。
- 兼容性与集成:仅适用于 Hailo 驱动的嵌入式系统、工业网关和 Raspberry Pi AI Kit 部署。
- 社区支持与生态系统:通过 Hailo Developer Zone、HailoRT、TAPPAS 和 Hailo Model Zoo 提供支持。
- 案例研究:适用于摄像机、机器人、访问控制、智慧城市和工业检测设备上的实时目标检测。
- 维护与更新:依赖 Hailo SDK、固件和 model-zoo 的更新以支持新的加速器目标。
- 安全注意事项:支持本地、设备端推理,数据保留在边缘侧。
- 硬件加速:通过编译后的 HEF 工件使用 Hailo NPU 执行。
有关分步工作流程,请参阅 Hailo 集成指南。
Link to this sectionTF.js#
TensorFlow.js (TF.js) 是一个将机器学习能力直接引入浏览器的库,为 Web 开发人员和用户开辟了新的可能性。它允许在 Web 应用程序中集成机器学习模型,而无需后端基础设施。
- 性能基准:实现浏览器内的机器学习,性能表现良好,具体取决于客户端设备。
- 兼容性与集成:与 Web 技术高度兼容,可轻松集成到 Web 应用程序中。
- 社区支持与生态系统:来自 Web 和 Node.js 开发人员社区的支持,并提供多种用于在浏览器中部署 ML 模型的工具。
- 案例研究:非常适合受益于客户端机器学习且无需服务器端处理的交互式 Web 应用程序。
- 维护与更新:由 TensorFlow 团队维护,并接受来自开源社区的贡献。
- 安全注意事项:在浏览器的安全上下文中运行,利用 Web 平台的安全模型。
- 硬件加速:性能可以通过访问 WebGL 等硬件加速的基于 Web 的 API 来增强。
Link to this sectionPaddlePaddle#
PaddlePaddle 是由百度开发的开源深度学习框架。它旨在兼顾研究人员的效率和开发人员的易用性。它在中国特别受欢迎,并为中文处理提供专门支持。
- 性能基准:提供具有竞争力的性能,并专注于易用性和可扩展性。
- 兼容性与集成:很好地集成在百度的生态系统中,并支持广泛的应用程序。
- 社区支持与生态系统:虽然在全球范围内的社区较小,但在中国增长迅速。
- 案例研究:常用于中国市场,以及寻找其他主流框架替代品的开发人员。
- 维护与更新:定期更新,专注于服务中文 AI 应用程序和服务。
- 安全注意事项:强调 数据隐私 和安全,符合中国的数据治理标准。
- 硬件加速:支持各种硬件加速,包括百度自有的昆仑芯片。
Link to this sectionMNN#
MNN 是一个高效且轻量级的深度学习框架。它支持深度学习模型的推理和训练,并具有业界领先的设备端推理和训练性能。此外,MNN 还被用于物联网等嵌入式设备。
- 性能基准:针对移动设备的高性能表现,并针对 ARM 系统进行了出色优化。
- 兼容性与集成:与移动和嵌入式 ARM 系统以及 X86-64 CPU 架构兼容良好。
- 社区支持与生态系统:由移动和嵌入式机器学习社区支持。
- 案例研究:非常适合需要在移动系统上实现高效性能的应用程序。
- 维护与更新:定期维护,以确保在移动设备上的高性能。
- 安全注意事项:通过将数据保留在本地,提供设备端安全优势。
- 硬件加速:针对 ARM CPU 和 GPU 进行了优化,以实现最大效率。
Link to this sectionNCNN#
NCNN 是一个专为移动平台优化的高性能神经网络推理框架。它以轻量级和高效著称,非常适合资源受限的移动和嵌入式设备。
- 性能基准:针对移动平台进行了高度优化,在基于 ARM 的设备上提供高效的推理。
- 兼容性与集成:适用于手机和采用 ARM 架构的嵌入式系统上的应用程序。
- 社区支持与生态系统:由一个专注于移动和嵌入式 ML 应用程序的细分但活跃的社区支持。
- 案例研究:受 Android 和其他基于 ARM 的系统上对效率和速度有严格要求的移动应用程序青睐。
- 维护与更新:持续改进,以在各种 ARM 设备上保持高性能。
- 安全注意事项:专注于在设备本地运行,利用设备端处理固有的安全性。
- 硬件加速:专为 ARM CPU 和 GPU 量身定制,并针对这些架构进行了专门优化。
Link to this sectionYOLO26 部署选项对比分析#
下表概述了可用于 YOLO26 模型的各种部署选项,帮助你根据几项关键标准评估哪种方式最适合你的项目需求。如需深入了解每种部署选项的格式,请查看 Ultralytics 关于导出格式的文档页面。
| 部署选项 | 性能基准 | 兼容性与集成 | 社区支持与生态系统 | 案例研究 | 维护与更新 | 安全注意事项 | 硬件加速 |
|---|---|---|---|---|---|---|---|
| PyTorch | 灵活性好;可能会牺牲原始性能 | 与 Python 库配合极佳 | 丰富的资源与社区 | 研究与原型设计 | 定期、活跃的开发 | 取决于部署环境 | 支持 CUDA 以实现 GPU 加速 |
| TorchScript | 比 PyTorch 更适合生产环境 | 从 PyTorch 到 C++ 的平滑过渡 | 专业化,但比 PyTorch 窄 | Python 成为瓶颈的行业 | 与 PyTorch 一致的更新 | 在无需完整 Python 的情况下提高安全性 | 继承了 PyTorch 的 CUDA 支持 |
| ONNX | 随运行时环境而变 | 跨不同框架的高兼容性 | 广泛的生态系统,受到许多组织的支持 | 跨机器学习框架的灵活性 | 针对新算子的定期更新 | 确保安全的转换和部署实践 | 各种硬件优化 |
| OpenVINO | 针对 Intel 硬件优化 | 在 Intel 生态系统中表现最佳 | 在计算机视觉领域表现稳健 | 使用 Intel 硬件的物联网和边缘计算 | 针对 Intel 硬件的定期更新 | 针对敏感应用的功能稳健 | 为 Intel 硬件量身定制 |
| TensorRT | 在 NVIDIA GPU 上表现一流 | 最适合 NVIDIA 硬件 | 通过 NVIDIA 构建的强大网络 | 实时视频和图像推理 | 针对新 GPU 的频繁更新 | 强调安全性 | 专为 NVIDIA GPU 设计 |
| CoreML | 针对设备端 Apple 硬件优化 | Apple 生态系统专属 | 强大的 Apple 及开发者支持 | Apple 产品上的设备端 ML | 定期的 Apple 更新 | 专注于隐私与安全 | Apple 神经引擎与 GPU |
| TF SavedModel | 在服务器环境中可扩展 | 在 TensorFlow 生态系统中的广泛兼容性 | 得益于 TensorFlow 的普及,拥有庞大的支持 | 大规模模型服务 | 由 Google 和社区定期更新 | 针对企业应用的功能稳健 | 各种硬件加速 |
| TF GraphDef | 对于静态计算图而言稳定 | 与 TensorFlow 基础设施集成良好 | 优化静态计算图的资源 | 需要静态图的场景 | 与 TensorFlow 核心同步更新 | 成熟的 TensorFlow 安全实践 | TensorFlow 加速选项 |
| TF Lite | 移动端/嵌入式设备上的速度与效率 | 广泛的设备支持 | 强大的社区,由 Google 支持 | 占用空间极小的移动应用 | 移动端的最新功能 | 终端用户设备上的安全环境 | GPU 和 DSP 等 |
| TF Edge TPU | 针对 Google 的 Edge TPU 硬件进行优化 | 专用于 Edge TPU 设备 | 随着 Google 和第三方资源而不断成长 | 需要实时处理的 IoT 设备 | 针对新款 Edge TPU 硬件的改进 | Google 稳健的 IoT 安全性 | 为 Google Coral 量身定制 |
| Hailo HEF | 特定于硬件且经过外部编译 | Hailo 设备和 Raspberry Pi AI Kit | Hailo 开发者专区和模型库 | 现有的 Hailo 部署 | Hailo SDK 和固件更新 | 端侧推理保持数据本地化 | 通过 HEF 工件实现的 Hailo NPU |
| TF.js | 可接受的浏览器内性能 | 基于 Web 技术的良好性能 | 支持 Web 和 Node.js 开发者 | 交互式 Web 应用 | TensorFlow 团队和社区贡献 | Web 平台安全模型 | 利用 WebGL 和其他 API 进行增强 |
| PaddlePaddle | 具有竞争力、易于使用且可扩展 | 百度生态系统,广泛的应用支持 | 快速增长,特别是在中国 | 中国市场与语言处理 | 专注于中国的 AI 应用 | 强调数据隐私与安全 | 包括百度的昆仑芯片 |
| MNN | 适用于移动设备的高性能。 | 移动与嵌入式 ARM 系统及 X86-64 CPU | 移动/嵌入式 ML 社区 | 移动系统效率 | 移动设备上的高性能维护 | 端侧安全优势 | ARM CPU 和 GPU 优化 |
| NCNN | 针对基于 ARM 的移动设备进行优化 | 移动与嵌入式 ARM 系统 | 利基但活跃的移动/嵌入式 ML 社区 | Android 和 ARM 系统效率 | ARM 平台上的高性能维护 | 端侧安全优势 | ARM CPU 和 GPU 优化 |
此比较分析为你提供了高层概述。在部署时,请务必考虑项目的具体需求和约束,并查阅针对每个选项提供的详细文档和资源。
Link to this section社区与支持#
当你开始使用 YOLO26 时,拥有一个互助的社区和支持会产生重大影响。以下是与志同道合者交流并获得所需协助的方法。
Link to this section与更广泛的社区互动#
- GitHub Discussions: GitHub 上的 YOLO26 仓库 有一个“讨论”部分,你可以在这里提问、报告问题并提出改进建议。
- Ultralytics Discord 服务器: Ultralytics 拥有一个 Discord 服务器,你可以在那里与其他用户和开发者互动。
Link to this section官方文档和资源#
- Ultralytics YOLO26 文档: 官方文档 提供了 YOLO26 的全面概述,以及关于安装、使用和故障排除的指南。
这些资源将帮助你解决挑战,并随时了解 YOLO26 社区的最新趋势和最佳实践。
Link to this section结论#
在本指南中,我们探讨了 YOLO26 的不同部署选项。我们还讨论了在做出选择时需要考虑的重要因素。这些选项允许你针对各种环境和性能要求自定义模型,使其适用于现实世界的应用。
别忘了 YOLO26 和 Ultralytics 社区 是宝贵的帮助来源。与其他开发者和专家联系,学习在普通文档中可能找不到的独特技巧和解决方案。保持求知欲,探索新想法,并分享你的经验。
Link to this section常见问题解答#
Link to this sectionYOLO26 在不同硬件平台上有哪些可用的部署选项?#
Ultralytics YOLO26 支持各种部署格式,每种格式都专为特定的环境和硬件平台而设计。主要格式包括:
- PyTorch,用于研究和原型设计,具有出色的 Python 集成。
- TorchScript,用于无法使用 Python 的生产环境。
- ONNX,用于跨平台兼容性和硬件加速。
- OpenVINO,用于在 Intel 硬件上实现优化性能。
- TensorRT,用于在 NVIDIA GPU 上进行高速推理。
每种格式都有独特的优势。有关详细的演练,请参阅我们的 导出流程文档。
Link to this section如何提高我的 YOLO26 模型在 Intel CPU 上的推理速度?#
为了提高 Intel CPU 上的推理速度,你可以使用 Intel 的 OpenVINO 工具包部署你的 YOLO26 模型。OpenVINO 通过优化模型以高效利用 Intel 硬件,提供了显著的性能提升。
- 使用
model.export()函数将你的 YOLO26 模型转换为 OpenVINO 格式。 - 按照 Intel OpenVINO 导出文档 中的详细设置指南进行操作。
欲了解更多见解,请查看我们的 博文。
Link to this section我可以在移动设备上部署 YOLO26 模型吗?#
可以,YOLO26 模型可以使用 TensorFlow Lite (TF Lite) 部署在 Android 和 iOS 平台的移动设备上。TF Lite 专为移动和嵌入式设备设计,提供高效的端侧推理。
# Export command for TFLite format
model.export(format="tflite")有关将模型部署到移动设备的更多详细信息,请参阅我们的 TF Lite 集成指南。
Link to this section在为我的 YOLO26 模型选择部署格式时,我应该考虑哪些因素?#
在为 YOLO26 选择部署格式时,请考虑以下因素:
- 性能:像 TensorRT 这样的格式在 NVIDIA GPU 上提供了卓越的速度,而 OpenVINO 则针对 Intel 硬件进行了优化。
- 兼容性:ONNX 在不同平台间提供了广泛的兼容性。
- 集成便利性:CoreML 或 TF Lite 等格式分别针对 iOS 和 Android 等特定生态系统进行了定制。
- 社区支持:PyTorch 和 TensorFlow 等格式拥有丰富的社区资源和支持。
有关比较分析,请参阅我们的 导出格式文档。
Link to this section我该如何在 Web 应用中部署 YOLO26 模型?#
要在 Web 应用中部署 YOLO26 模型,你可以使用 TensorFlow.js (TF.js),它允许直接在浏览器中运行 机器学习 模型。这种方法消除了对后端基础设施的需求,并提供实时性能。
- 将 YOLO26 模型导出为 TF.js 格式。
- 将导出的模型集成到你的 Web 应用中。
有关分步说明,请参阅我们关于 TensorFlow.js 集成 的指南。