Meet YOLO26: next-gen vision AI.

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

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

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

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

NCNN high-performance neural network inference framework

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

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

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

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

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

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

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

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

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

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

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

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

  • Встроенные системы и устройства IoT: Идеально подходит для устройств с ограниченными ресурсами, таких как Raspberry Pi и NVIDIA Jetson. Если стандартного вывода на Raspberry Pi с помощью руководства Ultralytics недостаточно, 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" и т.д.
  • Граничные и десктопные развертывания: Используй ускорение 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. Экспортируй модель, затем загрузи экспортированную модель для запуска вывода или проверки ее точности.

Экспорт (Export)
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'
Предсказание (Predict)
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Указывает размер батча для инференса или максимальное количество изображений, которое экспортированная модель будет обрабатывать одновременно в режиме 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 для обнаружения объектов в приложениях 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 и других GPU, отличных от NVIDIA, через Vulkan для более быстрого вывода.

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

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

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

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

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

Link to this sectionКакие платформы поддерживаются для развертывания моделей 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. Интеграция с твоим приложением: Используй Android SDK NCNN для интеграции экспортированной модели в твое приложение для эффективного вывода на устройстве.

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

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

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

NCNN поддерживает Vulkan для ускорения GPU на AMD, Intel и других GPU, отличных от NVIDIA. Чтобы использовать 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.

Комментарии