Link to this sectionОптимизация выводов YOLO26 с помощью движка DeepSparse от Neural Magic#
При развертывании моделей обнаружения объектов, таких как Ultralytics YOLO26, на различном оборудовании ты можешь столкнуться с уникальными проблемами, например, с оптимизацией. Именно здесь на помощь приходит интеграция YOLO26 с движком DeepSparse от Neural Magic. Она меняет способ выполнения моделей YOLO26 и позволяет достичь производительности уровня GPU непосредственно на CPU.
В этом руководстве показано, как развернуть YOLO26 с помощью DeepSparse от Neural Magic, как запускать выводы, а также как проводить бенчмаркинг производительности, чтобы убедиться в ее оптимизации.
Компания Neural Magic была приобретена Red Hat в январе 2025 года, и сейчас прекращает поддержку версий сообщества своих библиотек deepsparse, sparseml, sparsezoo и sparsify. Для получения дополнительной информации ознакомься с уведомлением, размещенным в файле Readme в репозитории sparsify на GitHub.
Link to this sectionDeepSparse от Neural Magic#
DeepSparse от Neural Magic — это среда выполнения выводов, разработанная для оптимизации работы нейронных сетей на CPU. Она применяет передовые методы, такие как разреженность (sparsity), прунинг (pruning) и квантование, чтобы значительно снизить вычислительные требования при сохранении точности. DeepSparse предлагает гибкое решение для эффективного и масштабируемого выполнения нейронных сетей на различных устройствах.
Link to this sectionПреимущества интеграции DeepSparse от Neural Magic с YOLO26#
Прежде чем погрузиться в процесс развертывания YOLO26 с использованием DeepSparse, давай разберемся в преимуществах этого инструмента. Ключевые достоинства включают:
- Повышенная скорость вывода: достигает до 525 FPS (на YOLO11n), что значительно ускоряет возможности вывода YOLO по сравнению с традиционными методами.
- Оптимизированная эффективность модели: использует прунинг и квантование для повышения эффективности YOLO26, уменьшая размер модели и требования к вычислительным ресурсам при сохранении точности.
-
Высокая производительность на стандартных CPU: обеспечивает производительность уровня GPU на CPU, предоставляя более доступный и экономичный вариант для различных приложений.
-
Упрощенная интеграция и развертывание: предлагает удобные инструменты для простой интеграции YOLO26 в приложения, включая функции аннотирования изображений и видео.
-
Поддержка различных типов моделей: совместимость как со стандартными, так и с оптимизированными для разреженности моделями YOLO26, что добавляет гибкости при развертывании.
-
Экономичное и масштабируемое решение: снижает эксплуатационные расходы и обеспечивает масштабируемое развертывание передовых моделей обнаружения объектов.
Link to this sectionКак работает технология DeepSparse от Neural Magic?#
Технология DeepSparse от Neural Magic вдохновлена эффективностью человеческого мозга при вычислениях нейронных сетей. Она опирается на два ключевых принципа работы мозга:
-
Разреженность (Sparsity): процесс разрежения включает в себя удаление (прунинг) избыточной информации из сетей глубокого обучения, что приводит к созданию более компактных и быстрых моделей без ущерба для точности. Этот метод значительно снижает размер сети и вычислительные потребности.
-
Локальность ссылок (Locality of Reference): DeepSparse использует уникальный метод выполнения, разбивая сеть на тензорные столбцы (Tensor Columns). Эти столбцы выполняются по глубине, полностью помещаясь в кэш-памяти CPU. Такой подход имитирует эффективность работы мозга, минимизируя перемещение данных и максимально используя кэш процессора.
Link to this sectionСоздание разреженной версии YOLO26, обученной на пользовательском наборе данных#
SparseZoo, репозиторий моделей с открытым исходным кодом от Neural Magic, предлагает коллекцию предварительно разреженных контрольных точек (checkpoints) моделей YOLO26. С помощью SparseML, который легко интегрируется с Ultralytics, ты можешь без труда дообучать эти разреженные контрольные точки на своих специфических наборах данных, используя простой интерфейс командной строки.
Ознакомься с документацией Neural Magic по SparseML для YOLO26 для получения подробной информации.
Link to this sectionИспользование: развертывание YOLO26 с помощью DeepSparse#
Развертывание YOLO26 с помощью DeepSparse от Neural Magic включает в себя несколько простых шагов. Прежде чем приступить к инструкциям по использованию, обязательно изучи ассортимент моделей YOLO26, предлагаемых Ultralytics. Это поможет тебе выбрать наиболее подходящую модель для требований твоего проекта. Вот как ты можешь начать.
Link to this sectionШаг 1: Установка#
Чтобы установить необходимые пакеты, выполни:
# Install the required packages
pip install deepsparse[yolov8]Link to this sectionШаг 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 на твой диск.
Link to this sectionШаг 3: Развертывание и выполнение выводов#
Имея модель YOLO26 в формате ONNX, ты можешь развернуть ее и выполнять выводы с помощью 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)Link to this sectionШаг 4: Бенчмаркинг производительности#
Важно убедиться, что твоя модель YOLO26 работает оптимально на DeepSparse. Ты можешь провести бенчмаркинг производительности своей модели, чтобы проанализировать пропускную способность и задержку:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Link to this sectionШаг 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 обрабатывает указанное тобой изображение, обнаруживая объекты и сохраняя аннотированное изображение с ограничивающими рамками (bounding boxes) и классификациями. Аннотированное изображение будет сохранено в папке annotation-results. Это помогает наглядно представить возможности обнаружения модели.
После запуска команды eval ты получишь подробные выходные метрики, такие как precision, recall и mAP (средняя точность). Это дает комплексное представление о производительности твоей модели на наборе данных и особенно полезно для тонкой настройки и оптимизации моделей YOLO26 под конкретные задачи, обеспечивая высокую точность и эффективность.
Link to this sectionРезюме#
В этом руководстве рассматривалась интеграция YOLO26 от Ultralytics с движком DeepSparse от Neural Magic. Было подчеркнуто, как эта интеграция повышает производительность YOLO26 на CPU-платформах, предлагая эффективность уровня GPU и передовые методы разреженности нейронных сетей.
Для получения более подробной информации и расширенного использования посети документацию DeepSparse от Neural Magic. Ты также можешь изучить руководство по интеграции YOLO26 и посмотреть видео с пошаговым руководством на YouTube.
Кроме того, для более широкого понимания различных интеграций YOLO26 посети страницу руководства по интеграции Ultralytics, где ты сможешь открыть для себя множество других захватывающих возможностей интеграции.
Link to this sectionFAQ#
Link to this sectionЧто такое движок DeepSparse от Neural Magic и как он оптимизирует производительность YOLO26?#
Движок DeepSparse от Neural Magic — это среда выполнения выводов, разработанная для оптимизации работы нейронных сетей на CPU с помощью передовых методов, таких как разреженность, прунинг и квантование. Интегрируя DeepSparse с YOLO26, ты можешь достичь производительности уровня GPU на стандартных CPU, значительно увеличивая скорость вывода, эффективность модели и общую производительность при сохранении точности. Для получения подробностей изучи раздел о DeepSparse от Neural Magic.
Link to this sectionКак я могу установить необходимые пакеты для развертывания YOLO26 с помощью DeepSparse от Neural Magic?#
Установка необходимых пакетов для развертывания YOLO26 с помощью DeepSparse от Neural Magic выполняется просто. Ты можешь легко установить их через CLI. Вот команда, которую тебе нужно выполнить:
pip install deepsparse[yolov8]После установки следуй инструкциям из раздела Установка, чтобы настроить окружение и начать использовать DeepSparse с YOLO26.
Link to this sectionКак конвертировать модели 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. Более подробную информацию об экспорте моделей можно найти в разделе Экспорт модели.
Link to this sectionКак мне провести бенчмаркинг производительности YOLO26 на движке DeepSparse?#
Бенчмаркинг производительности YOLO26 на DeepSparse помогает тебе проанализировать пропускную способность и задержку, чтобы убедиться, что твоя модель оптимизирована. Ты можешь использовать следующую команду CLI для запуска бенчмарка:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Эта команда предоставит тебе важные метрики производительности. Для получения дополнительных сведений смотри раздел Бенчмаркинг производительности.
Link to this sectionПочему мне стоит использовать DeepSparse от Neural Magic вместе с YOLO26 для задач обнаружения объектов?#
Интеграция DeepSparse от Neural Magic с YOLO26 дает несколько преимуществ:
- Повышенная скорость вывода: достигает до 525 FPS (на YOLO11n), демонстрируя возможности оптимизации DeepSparse.
- Оптимизированная эффективность модели: использует методы разреженности, прунинга и квантования для уменьшения размера модели и вычислительных потребностей при сохранении точности.
- Высокая производительность на стандартных CPU: предлагает производительность уровня GPU на экономичном CPU-оборудовании.
- Упрощенная интеграция: удобные инструменты для легкого развертывания и интеграции.
- Гибкость: поддерживает как стандартные, так и оптимизированные для разреженности модели YOLO26.
- Экономичность: снижает эксплуатационные расходы за счет эффективного использования ресурсов.
Для более глубокого изучения этих преимуществ перейди в раздел Преимущества интеграции DeepSparse от Neural Magic с YOLO26.