跳至内容

利用Neural Magic 的 DeepSparse 引擎优化YOLO11 推论

在各种硬件上部署对象检测模型(如 Ultralytics YOLO11等物体检测模型时,会遇到优化等特殊问题。这就是YOLO11 与Neural Magic 的 DeepSparse Engine 集成的作用所在。它改变了YOLO11 模型的执行方式,可直接在 CPU 上实现GPU 级别的性能。

本指南将向您介绍如何使用Neural Magic 的 DeepSparse 部署YOLO11 ,如何运行推论,以及如何对性能进行基准测试以确保优化。

Neural Magic的 DeepSparse

Neural Magic的 DeepSparse 概述

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

将Neural Magic's DeepSparse 与下列软件集成的优势YOLO11

在深入了解如何使用 DeepSparse 部署YOLOV8 之前,我们先来了解一下使用 DeepSparse 的好处。一些主要优势包括

  • 增强推理速度:推理速度高达 525 FPS(在 YOLO11n 上),与传统方法相比,大大加快了YOLO11 的推理能力。

提高推理速度

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

优化模型效率

  • 在标准 CPU 上实现高性能:在 CPU 上提供类似GPU 的性能,为各种应用提供了更方便、更经济的选择。

  • 简化集成和部署:提供用户友好型工具,可将YOLO11 轻松集成到应用程序中,包括图像和视频注释功能。

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

  • 经济高效、可扩展的解决方案:降低运营成本,提供可扩展的高级对象检测模型部署。

Neural Magic 的 DeepSparse 技术如何工作?

Neural MagicDeep Sparse 技术的灵感来源于人脑在神经网络计算中的效率。它采用了大脑的以下两个关键原则:

  • 稀疏性:稀疏化过程包括修剪深度学习网络中的冗余信息,从而在不影响准确性的前提下,建立更小、更快的模型。这种技术能显著缩小网络规模,减少计算需求。

  • 参照位置:DeepSparse 采用独特的执行方法,将网络分解为Tensor 列。这些列按深度执行,完全位于CPU 的缓存中。这种方法模仿了大脑的效率,最大限度地减少了数据移动,并最大限度地利用了CPU 的缓存。

Neural Magic 的 DeepSparse 技术如何工作

有关Neural Magic DeepSparse 技术工作原理的详细信息,请查看他们的博客文章

创建基于自定义数据集训练的YOLO11 稀疏版本

SparseZoo 是Neural Magic 的一个开源模型库,提供了一系列预先解析的YOLO11 模型检查点。通过与Ultralytics 无缝集成的 SparseML,用户可以使用直接的命令行界面在其特定数据集上毫不费力地对这些稀疏检查点进行微调。

详情请查看Neural Magic 的 SparseMLYOLO11 文档

使用方法:使用 DeepSparse 部署YOLOV8

使用Neural Magic 的 DeepSparse 部署YOLO11 只需几个简单的步骤。在深入了解使用说明之前,请务必查看 Ultralytics 提供的一系列YOLO11 模型。这将帮助您根据项目要求选择最合适的模型。以下是开始使用的方法。

步骤 1:安装

要安装所需的软件包,请运行

安装

# Install the required packages
pip install deepsparse[yolov8]

第 2 步:将YOLO11 导出为ONNX 格式

DeepSparse 引擎要求YOLO11 ONNX 格式的模型。为了与 DeepSparse 兼容,必须将模型导出为这种格式。使用以下命令导出YOLO11 模型:

出口型号

# Export YOLO11 model to ONNX format
yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13

该命令将保存 yolo11n.onnx 模型到磁盘中。

步骤 3:部署和运行推理

有了ONNX 格式的YOLO11 模型,您就可以使用 DeepSparse 部署和运行推论。这可以通过其直观的Python API 轻松完成:

部署和运行推理

from deepsparse import Pipeline

# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.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:绩效基准

检查YOLO11 模型在 DeepSparse 上的性能是否达到最佳状态非常重要。您可以对模型的性能进行基准测试,分析吞吐量和延迟:

基准

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

步骤 5:附加功能

DeepSparse 还为YOLO11 在图像标注和数据集评估等应用中的实际集成提供了附加功能。

附加功能

# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo11n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo11n.onnx"

运行注释命令可处理指定图像、检测对象并保存带有边框和分类的注释图像。注释后的图像将保存在注释结果文件夹中。这有助于直观地展示模型的检测能力。

图像注释功能

运行 eval 命令后,您将收到精确度召回率和 mAP(平均精确度)等详细的输出指标。这可以让您全面了解模型在数据集上的表现。该功能对于微调和优化YOLO11 模型以适用于特定用例,确保高精度和高效率尤为有用。

摘要

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

更多详细信息和高级用法,请访问Neural Magic 的 DeepSparse 文档。此外,还可以在这里查看Neural Magic 与YOLO11 集成的文档,并在这里观看有关的精彩会议。

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

常见问题

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

Neural MagicDeepSparse Engine 是一种推理运行时,旨在通过稀疏性、剪枝和量化等先进技术优化神经网络在 CPU 上的执行。通过将 DeepSparse 与YOLO11 集成,您可以在标准 CPU 上实现类似GPU 的性能,在保持准确性的同时显著提高推理速度、模型效率和整体性能。更多详情,请访问Neural Magic 的 DeepSparse 部分

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

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

pip install deepsparse[yolov8]

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

如何将YOLO11 模型转换为ONNX 格式,以便与 DeepSparse 一起使用?

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

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

该命令将导出YOLO11 模型 (yolo11n.pt格式 (yolo11n.onnx),可被 DeepSparse 引擎使用。有关模型导出的更多信息,请参阅 模型导出部分.

如何衡量YOLO11 在 DeepSparse 引擎上的性能?

对YOLO11 在 DeepSparse 上的性能进行基准测试,可帮助您分析吞吐量和延迟,确保优化模型。您可以使用以下CLI 命令运行基准:

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

该命令将为您提供重要的性能指标。有关详细信息,请参阅 "性能基准 "部分

为什么要使用Neural Magic 的 DeepSparse 和YOLO11 来完成物体检测任务?

将Neural Magic 的 DeepSparse 与YOLO11 整合在一起有几个好处:

  • 增强的推理速度:推理速度高达 525 FPS,大大加快了YOLO11 的运行速度。
  • 优化模型效率:利用稀疏性、剪枝和量化技术,在保持准确性的同时,缩小模型大小,减少计算需求。
  • 在标准 CPU 上实现高性能:在经济高效的CPU 硬件上提供类似GPU 的性能。
  • 简化集成:用户友好型工具,便于部署和集成。
  • 灵活性:支持标准和稀疏性优化的YOLO11 模型。
  • 成本效益高:有效利用资源,降低运营成本。

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

📅 11 个月前创建✏️ 2 个月前更新

评论