Оптимизация выводов YOLO11 с помощью Neural Magic'DeepSparse Engine
When deploying object detection models like Ultralytics YOLO11 on various hardware, you can bump into unique issues like optimization. This is where YOLO11's integration with Neural Magic's DeepSparse Engine steps in. It transforms the way YOLO11 models are executed and enables GPU-level performance directly on CPUs.
В этом руководстве ты узнаешь, как развернуть YOLO11 с помощью Neural Magic'DeepSparse, как запустить выводы, а также как провести бенчмаркинг производительности, чтобы убедиться, что она оптимизирована.
Neural Magic'DeepSparse
Neural Magic's DeepSparse is an inference run-time designed to optimize the execution of neural networks on CPUs. It applies advanced techniques like sparsity, pruning, and quantization to dramatically reduce computational demands while maintaining accuracy. DeepSparse offers an agile solution for efficient and scalable neural network execution across various devices.
Преимущества интеграции Neural Magic'DeepSparse с YOLO11
Прежде чем углубляться в развертывание YOLOV8 используя DeepSparse, давайте разберемся в преимуществах использования DeepSparse. Вот некоторые ключевые преимущества:
- Enhanced Inference Speed: Achieves up to 525 FPS (on YOLO11n), significantly speeding up YOLO11's inference capabilities compared to traditional methods.
- Optimized Model Efficiency: Uses pruning and quantization to enhance YOLO11's efficiency, reducing model size and computational requirements while maintaining accuracy.
Высокая производительность на стандартных процессорах: Обеспечивает производительность, подобную GPU, на центральных процессорах, предоставляя более доступный и экономичный вариант для различных приложений.
Streamlined Integration and Deployment: Offers user-friendly tools for easy integration of YOLO11 into applications, including image and video annotation features.
Support for Various Model Types: Compatible with both standard and sparsity-optimized YOLO11 models, adding deployment flexibility.
Экономически эффективное и масштабируемое решение: Сокращает эксплуатационные расходы и предлагает масштабируемое развертывание передовых моделей обнаружения объектов.
Как работает технология Neural Magic'DeepSparse'?
Neural MagicТехнология Deep Sparse основана на эффективности человеческого мозга в вычислениях нейронных сетей. Он перенимает два ключевых принципа мозга следующим образом:
Sparsity: The process of sparsification involves pruning redundant information from deep learning networks, leading to smaller and faster models without compromising accuracy. This technique reduces the network's size and computational needs significantly.
Locality of Reference: DeepSparse использует уникальный метод выполнения, разбивая сеть на Tensor колонки. Эти колонки выполняются в глубину, полностью помещаясь в кэш CPU. Такой подход имитирует эффективность работы мозга, минимизируя перемещение данных и максимально используя кэш CPU.
Более подробно о том, как работает технология Neural Magic'DeepSparse, читай в их блоге.
Создание разреженной версии YOLO11, обученной на пользовательском наборе данных
SparseZoo, an open-source model repository by Neural Magic, offers a collection of pre-sparsified YOLO11 model checkpoints. With SparseML, seamlessly integrated with Ultralytics, users can effortlessly fine-tune these sparse checkpoints on their specific datasets using a straightforward command-line interface.
Checkout Neural Magic's SparseML YOLO11 documentation for more details.
Использование: Развертывание YOLOV8 с помощью DeepSparse
Deploying YOLO11 with Neural Magic's DeepSparse involves a few straightforward steps. Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements. Here's how you can get started.
Шаг 1: Установка
Чтобы установить необходимые пакеты, выполни:
Шаг 2: Экспорт YOLO11 в формат ONNX
DeepSparse Engine требует моделей YOLO11 в формате ONNX . Экспорт твоей модели в этот формат необходим для совместимости с DeepSparse. Используй следующую команду для экспорта моделей YOLO11:
Экспорт моделей
Эта команда сохранит 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. Ты можешь провести бенчмарк производительности своей модели, чтобы проанализировать пропускную способность и задержку:
Бенчмаркинг
Шаг 5: Дополнительные возможности
DeepSparse предоставляет дополнительные возможности для практической интеграции YOLO11 в такие приложения, как аннотирование изображений и оценка наборов данных.
Дополнительные функции
Выполнив команду annotate, ты обработаешь указанное изображение, обнаружишь объекты и сохранишь аннотированное изображение с ограничительными рамками и классификацией. Аннотированное изображение будет сохранено в папке annotation-results. Это поможет создать визуальное представление о возможностях модели по обнаружению объектов.
After running the eval command, you will receive detailed output metrics such as precision, recall, and mAP (mean Average Precision). This provides a comprehensive view of your model's performance on the dataset. This functionality is particularly useful for fine-tuning and optimizing your YOLO11 models for specific use cases, ensuring high accuracy and efficiency.
Резюме
В этом руководстве рассматривается интеграция Ultralytics' YOLO11 с Neural Magic'DeepSparse Engine. В нем рассказывается о том, как эта интеграция повышает производительность YOLO11 на CPU платформах, предлагая GPU-уровень эффективности и продвинутые техники разреженности нейронных сетей.
For more detailed information and advanced usage, visit Neural Magic's DeepSparse documentation. Also, check out Neural Magic's documentation on the integration with YOLO11 here and watch a great session on it here.
Additionally, for a broader understanding of various YOLO11 integrations, visit the Ultralytics integration guide page, where you can discover a range of other exciting integration possibilities.
ВОПРОСЫ И ОТВЕТЫ
Что такое Neural Magic'DeepSparse Engine и как он оптимизирует производительность YOLO11?
Neural Magic's DeepSparse Engine is an inference runtime designed to optimize the execution of neural networks on CPUs through advanced techniques such as sparsity, pruning, and quantization. By integrating DeepSparse with YOLO11, you can achieve GPU-like performance on standard CPUs, significantly enhancing inference speed, model efficiency, and overall performance while maintaining accuracy. For more details, check out the Neural Magic's DeepSparse section.
Как установить необходимые пакеты для развертывания YOLO11 с помощью Neural Magic'DeepSparse?
Установка необходимых пакетов для развертывания YOLO11 с помощью Neural Magic's DeepSparse очень проста. Ты можешь легко установить их с помощью CLI. Вот команда, которую тебе нужно выполнить:
Once installed, follow the steps provided in the Installation section to set up your environment and start using DeepSparse with YOLO11.
Как преобразовать модели YOLO11 в формат ONNX для использования в DeepSparse?
Чтобы преобразовать модели YOLO11 в формат ONNX , который необходим для совместимости с DeepSparse, ты можешь использовать следующую команду CLI :
Эта команда экспортирует твою модель YOLO11 (yolo11n.pt
) в формат (yolo11n.onnx
), которые могут быть использованы движком DeepSparse Engine. Более подробную информацию об экспорте моделей можно найти в разделе Раздел "Экспорт моделей.
Как проверить производительность YOLO11 на движке DeepSparse Engine?
Бенчмаркинг производительности 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 дает несколько преимуществ:
- Enhanced Inference Speed: Achieves up to 525 FPS, significantly speeding up YOLO11's capabilities.
- Оптимизированная эффективность модели: Используй техники разреженности, обрезки и квантования, чтобы уменьшить размер модели и вычислительные потребности, сохранив при этом точность.
- Высокая производительность на стандартных процессорах: Предлагает GPU-подобную производительность на экономичном CPU оборудовании.
- Оптимизированная интеграция: Удобные инструменты для легкого развертывания и интеграции.
- Flexibility: Supports both standard and sparsity-optimized YOLO11 models.
- Экономически эффективный: Сокращает эксплуатационные расходы за счет эффективного использования ресурсов.
For a deeper dive into these advantages, visit the Benefits of Integrating Neural Magic's DeepSparse with YOLO11 section.