使用 Neural Magic 的 DeepSparse Engine 优化 YOLO26 推理#
当在各种硬件上部署像 Ultralytics YOLO26 这样的目标检测模型时,你可能会遇到诸如优化之类独特的问题。这就是 YOLO26 与 Neural Magic 的 DeepSparse Engine 集成发挥作用的地方。它改变了 YOLO26 模型的执行方式,并在 CPU 上直接实现了 GPU 级别的性能。
本指南将向你展示如何使用 Neural Magic 的 DeepSparse 部署 YOLO26、如何运行推理,以及如何通过基准测试来确保模型性能已得到优化。
Neural Magic 于 2025年1月被红帽收购,并正在弃用其 deepsparse、sparseml、sparsezoo 和 sparsify 库的社区版本。有关更多信息,请参阅在 sparsify GitHub 仓库的 Readme 中发布的通知。
Neural Magic 的 DeepSparse#
Neural Magic's 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 技术灵感源自人脑在神经网络计算中的高效性。它采用了大脑的两个关键原则,如下所示:
-
稀疏性:稀疏化过程涉及从深度学习网络中剪枝冗余信息,从而在不妥协准确性的情况下获得更小、更快的模型。这项技术显著降低了网络的大小和计算需求。
-
引用局部性 (Locality of Reference):DeepSparse 使用一种独特的执行方法,将网络分解为 Tensor Columns(张量列)。这些列按深度执行,并完全适配在 CPU 缓存内。这种方法模仿了大脑的效率,最大限度地减少了数据移动并最大化了 CPU 缓存的使用。
创建在自定义数据集上训练的 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 Engine 要求 YOLO26 模型为 ONNX 格式。将你的模型导出为此格式对于与 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 文件夹中。这有助于直观地展示模型的检测能力。
运行评估命令后,你将获得详细的输出指标,例如精确度、召回率和 mAP(平均准确率)。这提供了模型在数据集上性能的全面视图,对于针对特定用例微调和优化你的 YOLO26 模型特别有用,从而确保高准确性和高效率。
总结#
本指南探讨了将 Ultralytics 的 YOLO26 与 Neural Magic 的 DeepSparse Engine 集成的过程。它重点介绍了这种集成如何提升 YOLO26 在 CPU 平台上的性能,提供 GPU 级别的效率和先进的神经网络稀疏化技术。
有关更多详细信息和高级用法,请访问 Neural Magic 的 DeepSparse 文档。你还可以探索 YOLO26 集成指南并在 YouTube 上观看演示会话。
此外,为了更广泛地了解各种 YOLO26 集成,请访问 Ultralytics 集成指南页面,你可以在其中发现一系列其他令人兴奋的集成可能性。
常见问题解答#
Neural Magic 的 DeepSparse Engine 是一个推理运行时,旨在通过稀疏性、剪枝和量化等先进技术优化神经网络在 CPU 上的执行。通过将 DeepSparse 与 YOLO26 集成,你可以在标准 CPU 上实现类 GPU 的性能,在保持准确性的同时显著提高推理速度、模型效率和整体性能。有关更多详情,请查看 Neural Magic 的 DeepSparse 部分。
安装使用 Neural Magic 的 DeepSparse 部署 YOLO26 所需的包非常简单。你可以使用 CLI 轻松安装它们。以下是你需要运行的命令:
pip install deepsparse[yolov8]安装完成后,请按照安装部分中提供的步骤设置你的环境并开始将 DeepSparse 与 YOLO26 一起使用。
要将 YOLO26 模型转换为 DeepSparse 所需的 ONNX 格式,你可以使用以下 CLI 命令:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13此命令会将你的 YOLO26 模型(
yolo26n.pt)导出为可供 DeepSparse Engine 使用的格式(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 集成的优势部分。