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

Как экспортировать в NCNN из YOLO11 для плавной разработки

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

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

Зачем экспортировать в NCNN?

Обзор NCNN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

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

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

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

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")

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

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

Аргументы экспорта

Аргумент Тип По умолчанию Описание
format str 'ncnn' Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
half bool False Включает квантование FP16 (полуточной точности), уменьшая размер модели и потенциально ускоряя вывод на поддерживаемом оборудовании.
batch int 1 Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме.
device str None Указывает устройство для экспорта: GPU (device=0), CPU (device=cpu), MPS для Apple silicon (device=mps).

Для получения более подробной информации о процессе экспорта посетите страницу документации Ultralytics по экспорту.

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

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

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

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

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

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

Обзор

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

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

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

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

Как экспортировать модели Ultralytics YOLO11 в формат NCNN?

Чтобы экспортировать вашу модель Ultralytics YOLO11 в формат NCNN, выполните следующие действия:

  • Python: Используйте export функция из класса YOLO.

    from ultralytics import YOLO
    
    # Load the YOLO11 model
    model = YOLO("yolo11n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'
    
  • CLI: Используйте yolo команда с export .

    yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
    

Подробные параметры экспорта можно найти на странице Экспорт в документации.

Каковы преимущества экспорта моделей YOLO11 в NCNN?

Экспорт ваших моделей Ultralytics YOLO11 в NCNN предлагает несколько преимуществ:

  • Эффективность: Модели NCNN оптимизированы для мобильных и встроенных устройств, что обеспечивает высокую производительность даже при ограниченных вычислительных ресурсах.
  • Квантование: NCNN поддерживает такие методы, как квантование, которые повышают скорость модели и уменьшают использование памяти.
  • Широкая совместимость: Вы можете развертывать модели NCNN на нескольких платформах, включая Android, iOS, Linux и macOS.

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

Почему мне следует использовать NCNN для моих мобильных AI-приложений?

NCNN, разработанный Tencent, специально оптимизирован для мобильных платформ. Основные причины использования NCNN включают:

  • Высокая производительность: Разработан для эффективной и быстрой обработки на мобильных CPU.
  • Кроссплатформенность: Совместимость с популярными фреймворками, такими как TensorFlow и ONNX, что упрощает преобразование и развертывание моделей на различных платформах.
  • Поддержка сообщества: Активная поддержка сообщества обеспечивает постоянные улучшения и обновления.

Чтобы узнать больше, посетите обзор NCNN в документации.

Какие платформы поддерживаются для развертывания моделей NCNN model deployment?

NCNN универсален и поддерживает различные платформы:

  • Мобильные устройства: Android, iOS.
  • Встроенные системы и устройства IoT: Устройства, такие как Raspberry Pi и NVIDIA Jetson.
  • Настольные компьютеры и серверы: Linux, Windows и macOS.

Если запуск моделей на Raspberry Pi недостаточно быстр, преобразование в формат NCNN может ускорить работу, как описано в нашем Руководстве по Raspberry Pi.

Как я могу развернуть модели Ultralytics YOLO11 NCNN на Android?

Чтобы развернуть ваши модели YOLO11 на Android:

  1. Сборка для Android: Следуйте руководству NCNN Build for Android.
  2. Интеграция с вашим приложением: Используйте NCNN Android SDK для интеграции экспортированной модели в ваше приложение для эффективного логического вывода на устройстве.

Пошаговые инструкции можно найти в нашем руководстве по развертыванию моделей YOLO11 NCNN.

Для получения более продвинутых руководств и вариантов использования посетите страницу документации Ultralytics.



📅 Создано 1 год назад ✏️ Обновлено 4 месяца назад

Комментарии