Перейти к содержимому

Как экспортировать на NCNN с YOLOv8 для плавного развертывания

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

Функция экспорта в формат NCNN позволяет оптимизировать твои Ultralytics YOLOv8 модели для легких приложений на базе устройств. В этом руководстве мы расскажем тебе о том, как конвертировать твои модели в формат NCNN , благодаря чему твои модели будут хорошо работать на различных мобильных и встраиваемых устройствах.

Почему тебе стоит экспортировать на NCNN?

NCNN обзор

Фреймворк NCNN Фреймворк, разработанный компанией Tencent, представляет собой высокопроизводительный нейросетевой фреймворк для вычисления выводов, оптимизированный специально для мобильных платформ, включая мобильные телефоны, встраиваемые устройства и IoT-устройства. NCNN совместим с широким спектром платформ, включая Linux, Android, iOS и macOS.

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

Ключевые особенности моделей NCNN

Модели NCNN обладают широким спектром ключевых возможностей, которые обеспечивают машинное обучение на устройствах, помогая разработчикам запускать свои модели на мобильных, встраиваемых и граничных устройствах:

  • Эффективность и высокая производительность: модели NCNN сделаны эффективными и легкими, оптимизированными для работы на мобильных и встраиваемых устройствах вроде Raspberry Pi с ограниченными ресурсами. Они также могут достигать высокой производительности с высокой точностью при решении различных задач, основанных на компьютерном зрении.

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

  • Совместимость: модели NCNN совместимы с такими популярными фреймворками глубокого обучения, как. TensorFlow, Caffe и ONNX. Такая совместимость позволяет разработчикам легко использовать существующие модели и рабочие процессы.

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

Варианты развертывания с NCNN

Прежде чем мы рассмотрим код для экспорта моделей YOLOv8 в формат NCNN, давай разберемся, как обычно используются модели NCNN.

Модели NCNN, разработанные с учетом эффективности и производительности, совместимы с различными платформами развертывания:

  • Мобильное развертывание: Специально оптимизированный для Android и iOS, он позволяет без проблем интегрировать его в мобильные приложения для эффективного проведения анализов на устройстве.

  • Встраиваемые системы и IoT-устройства: Если ты обнаружил, что выполнение выводов на Raspberry Pi с помощью руководстваUltralytics недостаточно быстро, переключение на экспортированную модель NCNN может помочь ускорить процесс. NCNN отлично подходит для таких устройств, как Raspberry Pi и NVIDIA Jetson, особенно в ситуациях, когда тебе нужна быстрая обработка данных прямо на устройстве.

  • Развертывание в настольных и серверных средах: Возможность развертывания в настольных и серверных средах Linux, Windows и macOS, поддержка разработки, обучения и оценки с более высокими вычислительными мощностями.

Экспорт в NCNN: Преобразование твоей модели YOLOv8

Ты можешь расширить совместимость моделей и гибкость развертывания, конвертируя модели YOLOv8 в формат NCNN.

Установка

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

Установка

# Install the required package for YOLOv8
pip install ultralytics

Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомься с нашим руководством по установкеUltralytics . Во время установки необходимых пакетов для YOLOv8, если у тебя возникнут какие-либо трудности, обратись к нашему руководству по общим проблемам, чтобы найти решения и советы.

Использование

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

Использование

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to NCNN format
model.export(format='ncnn') # creates '/yolov8n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO('./yolov8n_ncnn_model')

# Run inference
results = ncnn_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolov8n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

Более подробно о поддерживаемых вариантах экспорта можно узнать на странице документацииUltralytics , посвященной вариантам развертывания.

Развертывание экспортированных YOLOv8 NCNN моделей

После успешного экспорта твоих моделей Ultralytics YOLOv8 в формат NCNN ты можешь приступить к их развертыванию. Основным и рекомендуемым первым шагом для запуска NCNN-модели является использование метода YOLO("./model_ncnn_model"), как описано в предыдущем фрагменте кода. Однако для получения подробных инструкций по развертыванию твоих NCNN-моделей в различных других условиях, взгляни на следующие ресурсы:

  • Android: В этом блоге рассказывается, как использовать модели NCNN для выполнения таких задач, как обнаружение объектов, через Android-приложения.

  • macOS (): Пойми, как использовать модели NCNN для выполнения задач через macOS.

  • Linux: Изучи эту страницу, чтобы узнать, как развернуть модели NCNN на устройствах с ограниченными ресурсами, таких как Raspberry Pi и другие подобные устройства.

  • Windows x64 с помощью VS2017: Изучи этот блог, чтобы узнать, как развернуть модели NCNN на windows x64 с помощью Visual Studio Community 2017.

Резюме

В этом руководстве мы рассмотрели экспорт моделей Ultralytics YOLOv8 в формат NCNN. Этот шаг преобразования имеет решающее значение для повышения эффективности и скорости работы моделей YOLOv8, делая их более эффективными и подходящими для вычислительных сред с ограниченными ресурсами.

За подробными инструкциями по использованию обращайся к официальной документации NCNN .

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



Создано 2024-03-01, Обновлено 2024-03-03
Авторы: glenn-jocher (1), abirami-vina (1)

Комментарии