使用 Neural Magic 的 DeepSparse 引擎优化 YOLO26 推理#
在各种硬件上部署 目标检测 模型(例如 Ultralytics YOLO26)时,你可能会遇到优化等独特问题。这正是 YOLO26 与 Neural Magic 的 DeepSparse 引擎集成发挥作用的地方。它改变了 YOLO26 模型的执行方式,使模型能够直接在 CPU 上实现 GPU 级性能。
本指南将介绍如何使用 Neural Magic 的 DeepSparse 部署 YOLO26、运行推理,以及如何对性能进行基准测试以确保模型得到优化。
Neural Magic 已于 2025 年 1 月被 Red Hat 收购,并将弃用其 deepsparse、sparseml、sparsezoo 和 sparsify 库的社区版本。如需更多信息,请参阅 sparsify GitHub 仓库 Readme 中发布的通知。
Neural Magic 的 DeepSparse#
Neural Magic 的 DeepSparse 是一款推理运行时,旨在优化神经网络在 CPU 上的执行。它采用稀疏化、剪枝和量化等先进技术,在保持精度的同时大幅降低计算需求。DeepSparse 为在各种设备上高效、可扩展地执行神经网络提供了灵活的解决方案。
将 Neural Magic 的 DeepSparse 与 YOLO26 集成的优势#
在深入了解如何使用 DeepSparse 部署 YOLO26 之前,我们先来了解使用 DeepSparse 的优势。主要优势包括:
- 提升推理速度:最高可达 525 FPS(在 YOLO11n 上),与传统方法相比显著提升 YOLO 的推理能力。
- 优化模型效率:使用剪枝和量化提升 YOLO26 的效率,在保持精度的同时减小模型大小并降低计算需求。
-
在标准 CPU 上实现高性能:在 CPU 上提供类似 GPU 的性能,为各种应用提供更易用且更具成本效益的选择。
-
简化集成与部署:提供易于使用的工具,方便将 YOLO26 集成到应用中,包括图像和视频标注功能。
-
支持多种模型类型:兼容标准 YOLO26 模型和经过稀疏化优化的 YOLO26 模型,提升部署灵活性。
-
经济高效且可扩展的解决方案:降低运营成本,并支持先进目标检测模型的可扩展部署。
Neural Magic 的 DeepSparse 技术如何工作?#
Neural Magic 的 DeepSparse 技术受人脑进行神经网络计算时的高效性启发,采用了人脑的以下两个关键原理:
-
稀疏性:稀疏化过程会从深度学习网络中剪除冗余信息,从而在不影响精度的情况下生成更小、更快的模型。这项技术显著减小了网络规模和计算需求。
-
引用局部性:DeepSparse 使用独特的执行方式,将网络拆分为 Tensor Column。这些列按深度方向执行,完全容纳在 CPU 缓存中。这种方法模拟了人脑的高效性,最大限度地减少数据移动并充分利用 CPU 缓存。
创建使用自定义数据集训练的 YOLO26 稀疏版本#
Neural Magic 提供的开源模型仓库 SparseZoo 提供了一系列预稀疏化的 YOLO26 模型检查点。借助与 Ultralytics 无缝集成的 SparseML,用户可以通过简单的命令行界面,轻松使用自己的特定数据集对这些稀疏检查点进行微调。
如需更多详细信息,请查看 Neural Magic 的 SparseML YOLO26 文档。
用法:使用 DeepSparse 部署 YOLO26#
使用 Neural Magic 的 DeepSparse 部署 YOLO26 只需几个简单步骤。在开始查看使用说明之前,请务必了解 Ultralytics 提供的 YOLO26 模型。这将帮助你根据项目需求选择最合适的模型。下面介绍如何开始。
第 1 步:安装#
要安装所需的软件包,请运行:
# Install the required packages
pip install deepsparse[yolov8]第 2 步:将 YOLO26 导出为 ONNX 格式#
DeepSparse 引擎要求 YOLO26 模型采用 ONNX 格式。将模型导出为此格式是确保其与 DeepSparse 兼容的必要步骤。使用以下命令导出 YOLO26 模型:
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13此命令会将 yolo26n.onnx 模型保存到磁盘。
第 3 步:部署并运行推理#
YOLO26 模型采用 ONNX 格式后,你可以使用 DeepSparse 进行部署和推理。借助其直观的 Python API,这一过程非常简单:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)第 4 步:性能基准测试#
请务必检查 YOLO26 模型在 DeepSparse 上是否以最佳状态运行。你可以对模型性能进行基准测试,以分析吞吐量和延迟:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"第 5 步:其他功能#
DeepSparse 提供了其他实用功能,便于在应用中集成 YOLO26,例如图像标注和数据集评估。
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"运行 annotate 命令会处理你指定的图像,检测其中的对象,并保存带有边界框和分类结果的标注图像。标注图像将存储在 annotation-results 文件夹中。这有助于直观呈现模型的检测能力。
运行 eval 命令后,你将获得详细的输出指标,例如精确率、召回率和 mAP(平均精度)。这能全面反映模型在数据集上的性能,对于针对特定用例微调和优化 YOLO26 模型尤其有用,可确保较高的精度和效率。
总结#
本指南介绍了将 Ultralytics 的 YOLO26 与 Neural Magic 的 DeepSparse 引擎集成的方法,并说明了该集成如何提升 YOLO26 在 CPU 平台上的性能,同时提供 GPU 级效率和先进的神经网络稀疏化技术。
有关更详细的信息和高级用法,请访问Neural Magic 的 DeepSparse 仓库。你还可以探索 YOLO26 集成指南,并在 YouTube 上观看演练会话。
此外,如需更全面地了解各种 YOLO26 集成方案,请访问 Ultralytics 集成指南页面,探索其他丰富的集成可能性。
常见问题#
Neural Magic 的 DeepSparse 引擎是一款推理运行时,通过稀疏化、剪枝和量化等先进技术,优化神经网络在 CPU 上的执行。将 DeepSparse 与 YOLO26 集成后,你可以在标准 CPU 上实现类似 GPU 的性能,在保持精度的同时显著提升推理速度、模型效率和整体性能。详情请参阅 Neural Magic 的 DeepSparse 部分。
安装使用 Neural Magic 的 DeepSparse 部署 YOLO26 所需的软件包非常简单。你可以使用 CLI 轻松完成安装。需要运行的命令如下:
pip install deepsparse[yolov8]安装完成后,请按照安装部分中的步骤设置环境,并开始使用 DeepSparse 和 YOLO26。
要将 YOLO26 模型转换为 DeepSparse 所需的 ONNX 格式,你可以使用以下 CLI 命令:
yolo detect export model=yolo26n.pt format=onnx opset=13此命令会将你的 YOLO26 模型(
yolo26n.pt)导出为 DeepSparse 引擎可以使用的格式(yolo26n.onnx)。有关模型导出的更多信息,请参阅模型导出部分。在 DeepSparse 上对 YOLO26 性能进行基准测试,可以分析吞吐量和延迟,确保模型得到优化。你可以使用以下 CLI 命令运行基准测试:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"此命令会提供重要的性能指标。详情请参阅性能基准测试部分。
将 Neural Magic 的 DeepSparse 与 YOLO26 集成可带来多项优势:
- **提升推理速度:**最高可达 525 FPS(在 YOLO11n 上),展现了 DeepSparse 的优化能力。
- **优化模型效率:**使用稀疏化、剪枝和量化技术,在保持精度的同时减小模型大小并降低计算需求。
- **在标准 CPU 上实现高性能:**在经济高效的 CPU 硬件上提供类似 GPU 的性能。
- **简化集成:**提供易于使用的工具,方便部署和集成。
- **灵活性:**同时支持标准 YOLO26 模型和经过稀疏化优化的 YOLO26 模型。
- **经济高效:**通过高效利用资源降低运营成本。
如需深入了解这些优势,请访问将 Neural Magic 的 DeepSparse 与 YOLO26 集成的优势部分。