Meet YOLO26: next-gen vision AI.

Link to this sectionЭкспорт Ultralytics YOLO в формат NCNN#

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

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

Link to this sectionЗачем экспортировать в NCNN?#

NCNN high-performance neural network inference framework

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

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

Link to this sectionКлючевые особенности моделей NCNN#

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

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

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

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

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

  • Ускорение GPU через Vulkan: NCNN поддерживает Vulkan для ускорения вывода на GPU от различных производителей, включая AMD, Intel и другие не-NVIDIA GPU, что позволяет добиться высокой производительности на широком спектре оборудования.

Link to this sectionВарианты развертывания с NCNN#

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

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

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

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

Link to this sectionУскорение GPU через Vulkan#

NCNN поддерживает ускорение GPU через Vulkan, обеспечивая высокопроизводительный вывод на широком спектре GPU, включая AMD, Intel и другие графические карты, не относящиеся к NVIDIA. Это особенно полезно для:

  • Поддержка GPU различных производителей: В отличие от CUDA, которая ограничена GPU от NVIDIA, Vulkan работает на GPU разных производителей.
  • Мульти-GPU системы: Выбирай конкретное устройство Vulkan в системах с несколькими GPU, используя device="vulkan:0", device="vulkan:1" и т.д.
  • Edge и десктопные развертывания: Используй ускорение GPU на устройствах, где CUDA недоступна.

Чтобы использовать ускорение Vulkan, укажи устройство Vulkan при запуске вывода:

Вывод через Vulkan
from ultralytics import YOLO

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

# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")

# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
Требования Vulkan

Убедись, что у тебя установлены драйверы Vulkan для твоего GPU. Большинство современных драйверов GPU включают поддержку Vulkan по умолчанию. Ты можешь проверить доступность Vulkan с помощью таких инструментов, как vulkaninfo в Linux или Vulkan SDK в Windows.

Link to this sectionЭкспорт в NCNN: преобразование твоей модели YOLO26#

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

Link to this sectionПоддерживаемые задачи#

Экспорт NCNN поддерживает стандартный набор задач Ultralytics YOLO26.

Link to this sectionУстановка#

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

Установка
# Install the required package for YOLO26
pip install ultralytics

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

Link to this sectionИспользование#

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

Формат NCNN поддерживает режимы Export, Predict и Validate. Экспортируй свою модель, а затем загрузи её для запуска вывода или проверки точности.

Экспорт
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
Предсказание
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Валидация
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionАргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'ncnn'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
halfboolFalseВключает квантование FP16 (половинная точность), уменьшая размер модели и потенциально ускоряя вывод на поддерживаемом оборудовании.
batchint1Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
devicestrNoneУказывает устройство для экспорта: GPU (device=0), CPU (device=cpu), MPS для Apple silicon (device=mps).

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

Link to this sectionРазвертывание экспортированных моделей YOLO26 NCNN#

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

  • Android: Сборка и интеграция моделей NCNN для object detection в приложениях Android.

  • macOS: Развертывание моделей NCNN в системах macOS.

  • Linux: Развертывание моделей NCNN на устройствах Linux, включая Raspberry Pi и подобные встраиваемые системы.

  • Windows x64: Развертывание моделей NCNN на Windows x64 с использованием Visual Studio.

Link to this sectionРезюме#

В этом руководстве мы рассмотрели экспорт моделей Ultralytics YOLO26 в формат NCNN для повышения эффективности и скорости на устройствах с ограниченными ресурсами.

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

Link to this sectionFAQ#

Link to this sectionКак экспортировать модели Ultralytics YOLO26 в формат NCNN?#

Чтобы экспортировать твою модель Ultralytics YOLO26 в формат NCNN:

  • Python: Используй метод export из класса YOLO.

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

    yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'

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

Link to this sectionКаковы преимущества экспорта моделей YOLO26 в NCNN?#

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

  • Эффективность: Модели NCNN оптимизированы для мобильных и встраиваемых устройств, что обеспечивает высокую производительность даже при ограниченных вычислительных ресурсах.
  • Квантование: NCNN поддерживает такие методы, как квантование, которые повышают скорость работы модели и сокращают использование памяти.
  • Широкая совместимость: Ты можешь развертывать модели NCNN на различных платформах, включая Android, iOS, Linux и macOS.
  • Ускорение GPU через Vulkan: Используй ускорение GPU на AMD, Intel и других не-NVIDIA GPU через Vulkan для более быстрого вывода.

Более подробную информацию см. в разделе Зачем экспортировать в NCNN?.

Link to this sectionПочему стоит использовать NCNN для моих мобильных ИИ-приложений?#

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

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

Более подробную информацию см. в разделе Ключевые особенности моделей NCNN.

Link to this sectionКакие платформы поддерживаются для model deployment с NCNN?#

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

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

Для повышения производительности на Raspberry Pi рассмотри использование формата NCNN, как описано в нашем руководстве по Raspberry Pi.

Link to this sectionКак развернуть модели Ultralytics YOLO26 NCNN на Android?#

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

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

Подробные инструкции см. в разделе Развертывание экспортированных моделей YOLO26 NCNN.

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

Link to this sectionКак использовать ускорение GPU Vulkan с моделями NCNN?#

NCNN поддерживает Vulkan для ускорения GPU на AMD, Intel и других не-NVIDIA GPU. Чтобы использовать Vulkan:

from ultralytics import YOLO

# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0")  # Use first Vulkan device

Для систем с несколькими GPU укажи индекс устройства (например, vulkan:1 для второго GPU). Убедись, что драйверы Vulkan установлены для твоего GPU. Дополнительные сведения см. в разделе Ускорение GPU через Vulkan.

Комментарии