Перейти к содержанию

Оптимизация вывода YOLO26 с помощью DeepSparse Engine от Neural Magic

При развертывании моделей обнаружения объектов, таких как Ultralytics YOLO26, на различном оборудовании могут возникнуть уникальные проблемы, например, с оптимизацией. Именно здесь на помощь приходит интеграция YOLO26 с движком DeepSparse от Neural Magic. Она преобразует способ выполнения моделей YOLO26 и обеспечивает производительность на уровне GPU непосредственно на CPU.

В этом руководстве показано, как развернуть YOLO26 с использованием DeepSparse от Neural Magic, как выполнять инференс, а также как провести бенчмаркинг производительности, чтобы убедиться в ее оптимизации.

SparseML EOL

Neural Magic была приобретена Red Hat в январе 2025 года, и прекращает поддержку community версий своих deepsparse, sparseml, sparsezooи sparsify библиотеки. Для получения дополнительной информации см. размещенное уведомление в Readme на sparseml Репозиторий GitHub.

DeepSparse от Neural Magic

Обзор DeepSparse от Neural Magic

DeepSparse от Neural Magic — это среда выполнения логического вывода, предназначенная для оптимизации выполнения нейронных сетей на CPU. Она применяет передовые методы, такие как разреженность, обрезка и квантование, чтобы значительно снизить вычислительные требования при сохранении точности. DeepSparse предлагает гибкое решение для эффективного и масштабируемого выполнения нейронных сетей на различных устройствах.

Преимущества интеграции DeepSparse от Neural Magic с YOLO26

Прежде чем углубляться в развертывание YOLO26 с использованием DeepSparse, давайте разберем преимущества использования DeepSparse. Ключевые преимущества включают:

  • Повышенная скорость инференса: Достигает до 525 FPS (на YOLO11n), значительно ускоряя возможности инференса YOLO по сравнению с традиционными методами.

Ускорение вывода Neural Magic

  • Оптимизированная эффективность модели: Использует прунинг и квантование для повышения эффективности YOLO26, уменьшая размер модели и вычислительные требования при сохранении точности.

Оптимизация и обрезка Neural Magic

  • Высокая производительность на стандартных CPU: Обеспечивает производительность уровня GPU на CPU, предоставляя более доступный и экономичный вариант для различных приложений.

  • Упрощенная интеграция и развертывание: Предлагает удобные инструменты для простой интеграции YOLO26 в приложения, включая функции аннотирования изображений и видео.

  • Поддержка различных типов моделей: Совместим как со стандартными, так и с оптимизированными по разреженности моделями YOLO26, что добавляет гибкости при развертывании.

  • Экономичное и масштабируемое решение: Снижает операционные расходы и предлагает масштабируемое развертывание передовых моделей обнаружения объектов.

Как работает технология DeepSparse от Neural Magic?

Технология DeepSparse от Neural Magic вдохновлена эффективностью человеческого мозга в вычислениях нейронных сетей. Она использует два ключевых принципа мозга, а именно:

  • Разреженность: Процесс разрежения включает в себя удаление избыточной информации из сетей глубокого обучения, что приводит к созданию меньших и более быстрых моделей без ущерба для точности. Этот метод значительно уменьшает размер сети и вычислительные потребности.

  • Локальность ссылок: DeepSparse использует уникальный метод исполнения, разбивая сеть на тензорные столбцы. Эти столбцы выполняются по глубине, полностью помещаясь в кэш CPU. Такой подход имитирует эффективность мозга, минимизируя перемещение данных и максимизируя использование кэша CPU.

Как работает технология DeepSparse от Neural Magic

Создание разреженной версии YOLO26, обученной на пользовательском наборе данных

SparseZoo, репозиторий моделей с открытым исходным кодом от Neural Magic, предлагает коллекцию предварительно разреженных контрольных точек моделей YOLO26. С SparseML, бесшовно интегрированным с Ultralytics, пользователи могут легко донастраивать эти разреженные контрольные точки на своих конкретных наборах данных с помощью простого интерфейса командной строки.

Ознакомьтесь с документацией SparseML YOLO26 от Neural Magic для получения более подробной информации.

Использование: Развертывание YOLO26 с помощью DeepSparse

Развертывание YOLO26 с DeepSparse от Neural Magic включает несколько простых шагов. Прежде чем приступать к инструкциям по использованию, обязательно ознакомьтесь с ассортиментом моделей YOLO26, предлагаемых Ultralytics. Это поможет вам выбрать наиболее подходящую модель для требований вашего проекта. Вот как вы можете начать.

Шаг 1: Установка

Чтобы установить необходимые пакеты, выполните команду:

Установка

# Install the required packages
pip install deepsparse[yolov8]

Шаг 2: Экспорт YOLO26 в формат ONNX

Движок DeepSparse требует модели 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: Развертывание и запуск инференса

Когда ваша модель YOLO26 находится в формате ONNX, вы можете развернуть ее и выполнять инференс с помощью DeepSparse. Это легко сделать с помощью их интуитивно понятного API на Python:

Развертывание и запуск инференсов

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

После выполнения команды eval вы получите подробные выходные метрики, такие как точность, полнота и mAP (средняя средняя точность). Это обеспечивает всесторонний обзор производительности вашей модели на наборе данных и особенно полезно для донастройки и оптимизации ваших моделей YOLO26 для конкретных сценариев использования, обеспечивая высокую точность и эффективность.

Обзор

В этом руководстве рассмотрена интеграция YOLO26 от Ultralytics с движком DeepSparse от Neural Magic. В нем подчеркнуто, как эта интеграция повышает производительность YOLO26 на платформах CPU, предлагая эффективность на уровне GPU и передовые методы разреженности нейронных сетей.

Для получения более подробной информации и расширенного использования посетите документацию DeepSparse от Neural Magic. Вы также можете изучить руководство по интеграции YOLO26 и посмотреть пошаговое руководство на YouTube.

Кроме того, для более полного понимания различных интеграций YOLO26 посетите страницу руководства по интеграции Ultralytics, где вы сможете найти множество других интересных возможностей интеграции.

Часто задаваемые вопросы

Что такое движок DeepSparse от Neural Magic и как он оптимизирует производительность YOLO26?

Движок DeepSparse от Neural Magic — это среда выполнения инференса, разработанная для оптимизации выполнения нейронных сетей на CPU с помощью передовых методов, таких как разреженность, обрезка и квантование. Интегрируя DeepSparse с YOLO26, вы можете достичь производительности, сравнимой с GPU, на стандартных CPU, значительно повышая скорость инференса, эффективность модели и общую производительность при сохранении точности. Для получения более подробной информации ознакомьтесь с разделом DeepSparse от Neural Magic.

Как установить необходимые пакеты для развертывания YOLO26 с использованием DeepSparse от Neural Magic?

Установка необходимых пакетов для развертывания YOLO26 с DeepSparse от Neural Magic проста. Вы можете легко установить их с помощью CLI. Вот команда, которую необходимо выполнить:

pip install deepsparse[yolov8]

После установки следуйте инструкциям, приведенным в разделе «Установка», чтобы настроить среду и начать использовать DeepSparse с YOLO26.

Как преобразовать модели YOLO26 в формат ONNX для использования с DeepSparse?

Чтобы преобразовать модели YOLO26 в формат ONNX, необходимый для совместимости с DeepSparse, вы можете использовать следующую команду CLI:

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

Эта команда экспортирует вашу модель YOLO26 (yolo26n.pt) в формат (yolo26n.onnx) который может быть использован DeepSparse Engine. Дополнительную информацию об экспорте модели можно найти в Раздел экспорта модели.

Как провести бенчмаркинг производительности YOLO26 на движке DeepSparse?

Бенчмаркинг производительности YOLO26 на DeepSparse помогает анализировать пропускную способность и задержку, чтобы убедиться в оптимизации вашей модели. Вы можете использовать следующую команду CLI для запуска бенчмарка:

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

Эта команда предоставит вам жизненно важные показатели производительности. Для получения более подробной информации см. раздел Оценка производительности.

Почему следует использовать DeepSparse от Neural Magic с YOLO26 для задач обнаружения объектов?

Интеграция DeepSparse от Neural Magic с YOLO26 предлагает несколько преимуществ:

  • Повышенная скорость инференса: Достигает до 525 FPS (на YOLO11n), демонстрируя возможности оптимизации DeepSparse.
  • Оптимизированная эффективность модели: Использует методы разреженности, обрезки и квантования для уменьшения размера модели и вычислительных потребностей при сохранении точности.
  • Высокая производительность на стандартных CPU: Обеспечивает производительность, сравнимую с GPU, на экономичном оборудовании CPU.
  • Оптимизированная интеграция: Удобные инструменты для легкого развертывания и интеграции.
  • Гибкость: Поддерживает как стандартные, так и оптимизированные по разреженности модели YOLO26.
  • Экономичность: Снижает операционные расходы за счет эффективного использования ресурсов.

Для более глубокого изучения этих преимуществ посетите раздел «Преимущества интеграции DeepSparse от Neural Magic с YOLO26».



📅 Создано 2 лет назад ✏️ Обновлено 7 дней назад
glenn-jocherRizwanMunawarUltralyticsAssistantBurhan-QMatthewNoyceabirami-vina

Комментарии