Как экспортировать на NCNN с сайта YOLO11 для плавного развертывания
Развертывание моделей компьютерного зрения на устройствах с ограниченной вычислительной мощностью, таких как мобильные или встраиваемые системы, может оказаться непростой задачей. Необходимо убедиться, что вы используете формат, оптимизированный для оптимальной производительности. Это гарантирует, что даже устройства с ограниченной вычислительной мощностью смогут хорошо справляться с передовыми задачами компьютерного зрения.
Функция экспорта в формат NCNN позволяет оптимизировать ваши Ultralytics YOLO11 модели для легких приложений на базе устройств. В этом руководстве мы расскажем вам о том, как конвертировать модели в формат NCNN , чтобы облегчить работу с ними на различных мобильных и встраиваемых устройствах.
Почему вы должны экспортировать на NCNN?
Фреймворк NCNN Фреймворк, разработанный компанией Tencent, представляет собой высокопроизводительный нейросетевой вычислительный фреймворк, оптимизированный специально для мобильных платформ, включая мобильные телефоны, встраиваемые устройства и устройства IoT. NCNN совместим с широким спектром платформ, включая Linux, Android, iOS, и macOS.
NCNN известен своей высокой скоростью обработки данных на мобильных процессорах и позволяет быстро развертывать модели глубокого обучения на мобильных платформах. Это упрощает создание интеллектуальных приложений, позволяя использовать возможности искусственного интеллекта прямо на кончиках ваших пальцев.
Ключевые особенности моделей NCNN
NCNN Модели предлагают широкий спектр ключевых функций, которые обеспечивают машинное обучение на устройствах, помогая разработчикам запускать свои модели на мобильных, встраиваемых и граничных устройствах:
-
Эффективность и высокая производительность: модели NCNN сделаны эффективными и легкими, оптимизированными для работы на мобильных и встраиваемых устройствах, таких как Raspberry Pi, с ограниченными ресурсами. Они также могут достигать высокой производительности и точности при решении различных задач, основанных на компьютерном зрении.
-
Квантование: модели NCNN часто поддерживают квантование - технику, которая снижает точность весов и активаций модели. Это приводит к дальнейшему улучшению производительности и уменьшению занимаемой памяти.
-
Совместимость: модели NCNN совместимы с такими популярными фреймворками глубокого обучения, как TensorFlow, Caffe, и ONNX. Такая совместимость позволяет разработчикам легко использовать существующие модели и рабочие процессы.
-
Простота использования: модели NCNN разработаны для легкой интеграции в различные приложения благодаря совместимости с популярными фреймворками глубокого обучения. Кроме того, NCNN предлагает удобные инструменты для конвертации моделей между различными форматами, обеспечивая их совместимость в различных сферах разработки.
Варианты развертывания с NCNN
Прежде чем мы рассмотрим код для экспорта моделей YOLO11 в формат NCNN , давайте разберемся, как обычно используются модели NCNN .
NCNN Модели, созданные для повышения эффективности и производительности, совместимы с различными платформами развертывания:
-
Мобильное развертывание: Специально оптимизировано для Android и iOS, что позволяет легко интегрировать его в мобильные приложения для эффективной работы с выводами на устройстве.
-
Встраиваемые системы и устройства IoT: Если вы обнаружите, что выполнение выводов на Raspberry Pi с помощью руководстваUltralytics недостаточно быстро, переключение на экспортируемую модель NCNN может помочь ускорить процесс. NCNN отлично подходит для таких устройств, как Raspberry Pi и NVIDIA Jetson, особенно в ситуациях, когда вам нужна быстрая обработка данных прямо на устройстве.
-
Развертывание на настольных компьютерах и серверах: Возможность развертывания в настольных и серверных средах Linux, Windows и macOS, поддержка разработки, обучения и оценки с более высокими вычислительными мощностями.
Экспорт в NCNN: Преобразование модели YOLO11
Вы можете расширить совместимость моделей и гибкость развертывания, конвертируя модели YOLO11 в формат NCNN .
Установка
Чтобы установить необходимые пакеты, выполните команду:
Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установке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")
Аргументы экспорта
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
format |
str |
'ncnn' |
Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания. |
imgsz |
int или tuple |
640 |
Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для получения конкретных размеров. |
half |
bool |
False |
Включает квантование FP16 (половина точности), уменьшая размер модели и потенциально ускоряя вывод на поддерживаемом оборудовании. |
batch |
int |
1 |
Указывает размер пакетного вывода экспортной модели или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в predict режим. |
Более подробную информацию о процессе экспорта можно найти на странице документации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 . -
CLI: Используйте
yolo
команда сexport
аргумент.
Подробные параметры экспорта см. на странице "Экспорт" в документации.
Каковы преимущества экспорта моделей YOLO11 на NCNN?
Экспорт моделей Ultralytics YOLO11 в NCNN дает несколько преимуществ:
- Эффективность: модели NCNN оптимизированы для мобильных и встраиваемых устройств, что обеспечивает высокую производительность даже при ограниченных вычислительных ресурсах.
- Квантование: NCNN поддерживает такие техники, как квантование, которые повышают скорость работы модели и уменьшают потребление памяти.
- Широкая совместимость: Вы можете развернуть модели NCNN на различных платформах, включая Android, iOS, Linux и macOS.
Более подробную информацию см. в разделе документации " Экспорт на NCNN ".
Почему стоит использовать NCNN для мобильных приложений искусственного интеллекта?
NCNNразработанный компанией Tencent, специально оптимизирован для мобильных платформ. Основные причины использовать NCNN включают:
- Высокая производительность: Разработан для эффективной и быстрой обработки данных на мобильных процессорах.
- Кроссплатформенность: Совместимость с такими популярными фреймворками, как TensorFlow и ONNX, что упрощает конвертацию и развертывание моделей на разных платформах.
- Поддержка сообщества: Активная поддержка сообщества обеспечивает постоянные улучшения и обновления.
Чтобы узнать больше, посетите обзорNCNN в документации.
Какие платформы поддерживаются дляразвертывания модели NCNN ?
NCNN универсальна и поддерживает различные платформы:
- Мобильный: Android, iOS.
- Встраиваемые системы и устройства IoT: Такие устройства, как Raspberry Pi и NVIDIA Jetson.
- Настольные компьютеры и серверы: Linux, Windows и macOS.
Если запуск моделей на Raspberry Pi недостаточно быстр, конвертация в формат NCNN может ускорить работу, как описано в нашем руководстве по Raspberry Pi.
Как развернуть модели Ultralytics YOLO11 NCNN на Android?
Для развертывания моделей YOLO11 на сайте Android:
- Сборка для Android: Следуйте руководству NCNN Build for Android.
- Интегрируйте с вашим приложением: Используйте NCNN Android SDK для интеграции экспортированной модели в ваше приложение для эффективного вывода данных на устройстве.
Пошаговые инструкции см. в нашем руководстве по развертыванию моделей YOLO11 NCNN .
Более подробные руководства и примеры использования можно найти на странице документацииUltralytics .