使用 Neural Magic 的 DeepSparse 引擎优化 YOLO26 推理

在将 目标检测 模型(如 Ultralytics YOLO26)部署到各种硬件时,你可能会遇到优化方面的特殊问题。这就是 YOLO26 与 Neural Magic 的 DeepSparse 引擎集成发挥作用的地方。它改变了 YOLO26 模型的执行方式,并使 CPU 能够直接实现 GPU 级别的性能。

本指南将向你展示如何使用 Neural Magic 的 DeepSparse 部署 YOLO26,如何运行推理,以及如何进行性能基准测试以确保其得到优化。

SparseML 生命周期结束(EOL)

Neural Magic 已于 2025 年 1 月被 Red Hat 收购,并正在弃用其 deepsparsesparsemlsparsezoosparsify 库的社区版本。有关更多信息,请参阅发布在 sparseml GitHub 仓库 Readme 中的公告

Neural Magic 的 DeepSparse

Neural Magic's DeepSparse Overview

Neural Magic 的 DeepSparse 是一个推理运行时,旨在优化神经网络在 CPU 上的执行。它应用了稀疏化、剪枝和量化等先进技术,在保持准确性的同时大幅降低了计算需求。DeepSparse 为各种设备上的高效和可扩展 神经网络 执行提供了一个灵活的解决方案。

将 Neural Magic 的 DeepSparse 与 YOLO26 集成的优势

在深入了解如何使用 DeepSparse 部署 YOLO26 之前,让我们先了解一下使用 DeepSparse 的好处。一些关键优势包括:

  • 增强的推理速度:最高可达 525 FPS(在 YOLO11n 上),与传统方法相比,显著加速了 YOLO 的推理能力。

Neural Magic DeepSparse inference acceleration

  • 优化的模型效率:使用剪枝和量化来提高 YOLO26 的效率,在保持 准确性 的同时减少模型大小和计算需求。

Neural Magic model optimization and pruning

  • 在标准 CPU 上实现高性能:在 CPU 上提供类似 GPU 的性能,为各种应用提供更易用且具成本效益的选择。

  • 简化的集成与部署:提供易于使用的工具,可将 YOLO26 轻松集成到应用中,包括图像和视频标注功能。

  • 支持多种模型类型:兼容标准模型和稀疏优化后的 YOLO26 模型,增加了部署的灵活性。

  • 高性价比且可扩展的解决方案:降低运营成本,并为先进的目标检测模型提供可扩展的部署。

Neural Magic 的 DeepSparse 技术是如何工作的?

Neural Magic 的 DeepSparse 技术灵感来自于人脑在神经网络计算中的高效性。它采用了来自大脑的两个关键原则:

  • 稀疏性:稀疏化过程涉及从 深度学习 网络中修剪冗余信息,从而在不影响准确性的情况下实现更小、更快的模型。该技术显著减少了网络的规模和计算需求。

  • 引用局部性:DeepSparse 使用一种独特的执行方法,将网络分解为张量列(Tensor Columns)。这些列按深度执行,完全适配 CPU 缓存。这种方法模仿了大脑的效率,最小化了数据移动并最大化了 CPU 缓存的使用。

How Neural Magic's DeepSparse Technology Works

创建在自定义数据集上训练的 YOLO26 稀疏版本

SparseZoo 是一个由 Neural Magic 提供的开源模型仓库,提供 一系列预稀疏化的 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 引擎需要 ONNX 格式 的 YOLO26 模型。将模型导出为此格式对于与 DeepSparse 的兼容性至关重要。使用以下命令导出 YOLO26 模型:

模型导出
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

此命令会将 yolo26n.onnx 模型保存到你的磁盘上。

第 3 步:部署和运行推理

拥有 ONNX 格式的 YOLO26 模型后,你就可以使用 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 文件夹中。这有助于提供模型检测能力的直观展示。

Neural Magic annotation feature interface

运行 eval 命令后,你将收到详细的输出指标,例如 精度召回率mAP(平均精度均值)。这提供了模型在数据集上性能的全面视图,对于针对特定用例微调和优化 YOLO26 模型特别有用,确保了高准确性和高效率。

总结

本指南探讨了如何将 Ultralytics 的 YOLO26 与 Neural Magic 的 DeepSparse 引擎集成。它强调了这种集成如何增强 YOLO26 在 CPU 平台上的性能,提供 GPU 级别的效率和先进的神经网络稀疏技术。

有关更详细的信息和高级用法,请访问 Neural Magic 的 DeepSparse 文档。你也可以 探索 YOLO26 集成指南在 YouTube 上观看演示视频

此外,若要更广泛地了解各种 YOLO26 集成,请访问 Ultralytics 集成指南页面,在那里你可以发现其他一系列令人兴奋的集成可能性。

常见问题 (FAQ)

什么是 Neural Magic 的 DeepSparse 引擎,它是如何优化 YOLO26 性能的?

Neural Magic 的 DeepSparse 引擎是一个推理运行时,旨在通过稀疏化、剪枝和量化等先进技术优化神经网络在 CPU 上的执行。通过将 DeepSparse 与 YOLO26 集成,你可以在标准 CPU 上实现类 GPU 性能,显著提高推理速度、模型效率和整体性能,同时保持准确性。有关更多详细信息,请查看 Neural Magic 的 DeepSparse 部分

如何安装使用 Neural Magic 的 DeepSparse 部署 YOLO26 所需的包?

安装使用 Neural Magic 的 DeepSparse 部署 YOLO26 所需的包非常简单。你可以通过 CLI 轻松安装它们。以下是你需要运行的命令:

pip install deepsparse[yolov8]

安装完成后,请按照 安装部分 中提供的步骤设置环境,并开始将 DeepSparse 与 YOLO26 一起使用。

如何将 YOLO26 模型转换为 ONNX 格式以供 DeepSparse 使用?

要将 YOLO26 模型转换为 DeepSparse 兼容所需的 ONNX 格式,你可以使用以下 CLI 命令:

yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

此命令将把你的 YOLO26 模型 (yolo26n.pt) 导出为 DeepSparse 引擎可以使用的格式 (yolo26n.onnx)。关于模型导出的更多信息,可以在 模型导出部分 中找到。

如何对 DeepSparse 引擎上的 YOLO26 性能进行基准测试?

对 DeepSparse 上的 YOLO26 性能进行基准测试有助于分析吞吐量和延迟,以确保你的模型得到优化。你可以使用以下 CLI 命令运行基准测试:

deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

此命令将为你提供重要的性能指标。有关更多详细信息,请参阅 性能基准测试部分

为什么我应该将 Neural Magic 的 DeepSparse 与 YOLO26 一起用于目标检测任务?

将 Neural Magic 的 DeepSparse 与 YOLO26 集成具有几个优点:

  • 增强的推理速度: 最高可达 525 FPS(在 YOLO11n 上),展示了 DeepSparse 的优化能力。
  • 优化的模型效率: 使用稀疏化、剪枝和量化技术来减小模型大小和计算需求,同时保持准确性。
  • 在标准 CPU 上实现高性能: 在经济高效的 CPU 硬件上提供类 GPU 的性能。
  • 简化的集成: 用于轻松部署和集成的用户友好型工具。
  • 灵活性: 支持标准和稀疏优化后的 YOLO26 模型。
  • 高性价比: 通过有效的资源利用降低运营成本。

要深入了解这些优势,请访问 将 Neural Magic 的 DeepSparse 与 YOLO26 集成的优势部分

评论