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

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

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

В этом руководстве показано, как развернуть YOLO11 с помощью Neural Magic'DeepSparse, как запустить выводы, а также как проверить производительность, чтобы убедиться, что она оптимизирована.

Neural Magic'DeepSparse

Neural MagicОбзор DeepSparse

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

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

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

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

Повышенная скорость вывода

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

Оптимизированная эффективность модели

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

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

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

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

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

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

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

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

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

Более подробную информацию о работе технологии DeepSparse, представленной на сайте Neural Magic, можно найти в их блоге.

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

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

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

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

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

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

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

Установка

# Install the required packages
pip install deepsparse[yolov8]

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

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

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

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

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"

Выполнение команды annotate обрабатывает указанное изображение, обнаруживает объекты и сохраняет аннотированное изображение с ограничительными рамками и классификацией. Аннотированное изображение будет сохранено в папке annotation-results. Это позволяет получить наглядное представление о возможностях модели по обнаружению объектов.

Функция аннотирования изображений

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

Резюме

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

Для получения более подробной информации и расширенного использования посетите Neural Magic's DeepSparse documentation. Также ознакомьтесь с документацией Neural Magic по интеграции с YOLO11 здесь и посмотрите отличную сессию по этому вопросу здесь.

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Что такое Neural Magic'DeepSparse Engine и как он оптимизирует производительность YOLO11 .

Neural MagicDeepSparse Engine - это среда выполнения вычислений, разработанная для оптимизации выполнения нейронных сетей на центральных процессорах с помощью таких передовых методов, как разреженность, обрезка и квантование. Интегрировав DeepSparse с YOLO11, вы сможете добиться производительности, подобной GPU, на стандартных процессорах, значительно увеличив скорость вычислений, эффективность моделей и общую производительность при сохранении точности. Более подробную информацию можно найти в разделеNeural Magic's DeepSparse.

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

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

pip install deepsparse[yolov8]

После установки выполните шаги, описанные в разделе "Установка", чтобы настроить среду и начать использовать DeepSparse с YOLO11.

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

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

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

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

Как проверить производительность 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 кадров в секунду, значительно ускоряя возможности YOLO11.
  • Оптимизированная эффективность модели: Используются методы разреженности, обрезки и квантования для уменьшения размера модели и вычислительных потребностей при сохранении точности.
  • Высокая производительность на стандартных процессорах: Обеспечивает производительность, подобную GPU, на экономически эффективном CPU оборудовании.
  • Оптимизированная интеграция: Удобные инструменты для простого развертывания и интеграции.
  • Гибкость: Поддерживает как стандартные, так и оптимизированные по разреженности модели YOLO11 .
  • Экономичность: Сокращение операционных расходов за счет эффективного использования ресурсов.

Более подробно об этих преимуществах читайте в разделе Преимущества интеграции Neural Magic'DeepSparse с YOLO11 .

📅 Создано 11 месяцев назад ✏️ Обновлено 2 месяца назад

Комментарии