Ultralytics YOLO27:

Экспорт в Intel OpenVINO#

OpenVINO Intel AI inference toolkit

В этом руководстве мы расскажем, как экспортировать модели YOLO26 в формат OpenVINO, который может ускорить вычисления на CPU до 3 раз, а также ускорить инференс YOLO на оборудовании Intel с GPU и NPU.

OpenVINO, сокращение от Open Visual Inference & Neural Network Optimization toolkit, — это комплексный набор инструментов для оптимизации и развёртывания моделей инференса ИИ. Несмотря на слово Visual в названии, OpenVINO также поддерживает другие задачи, включая обработку языка, аудио, временных рядов и т. д.



Смотри: Как экспортировать Ultralytics YOLO26 в формат Intel OpenVINO для ускорения инференса 🚀

Поддерживаемые задачи#

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

Установка#

Установи зависимости для экспорта в OpenVINO:

pip install "ultralytics[export-openvino]"

Эти зависимости также входят в ultralytics[export] и устанавливаются автоматически, когда нужны для экспорта.

Примеры использования#

Формат OpenVINO поддерживает режимы Export, Predict и Validate. Экспортируй модель, затем загрузи её, чтобы выполнить инференс или проверить точность на CPU, встроенном или дискретном GPU либо NPU Intel.

Экспорт
from ultralytics import YOLO

# Загрузи модель YOLO26
model = YOLO("yolo26n.pt")

# Экспортировать модель в формат OpenVINO
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'
Предсказание
from ultralytics import YOLO

# Загрузи экспортированную модель OpenVINO
model = YOLO("yolo26n_openvino_model/")

# Выполнить инференс
results = model("https://ultralytics.com/images/bus.jpg")

# Выполни инференс на указанном устройстве; доступны устройства: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")
Проверка
from ultralytics import YOLO

# Загрузи экспортированную модель OpenVINO
model = YOLO("yolo26n_openvino_model/")

# Проверить точность на наборе данных COCO8
metrics = model.val(data="coco8.yaml")

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

АргументТипПо умолчаниюОписание
formatstr'openvino'Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Заданный размер изображения на входе модели. Можно указать целое число для квадратных изображений или кортеж (height, width) для конкретных размеров.
quantizeint или strNoneТочность квантования: 16 (FP16) или 8 (INT8/PTQ; требуется калибровка data/fraction); 32/неуказанное значение соответствует FP32. Заменяет устаревшие флаги half/int8.
dynamicboolFalseПозволяет использовать динамические размеры входных данных, повышая гибкость при обработке изображений разных размеров.
nmsbool, необязательноNoneВыбери необработанный выход (None, по умолчанию), встроенный NMS (True) или голову без NMS (False).
batchint1Задаёт размер пакета изображений для инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
datastrNoneПуть к YAML-файлу набора данных, необходимому для квантования; для классификации вместо него укажи каталог набора данных или название встроенного набора данных. Если не указать этот параметр вместе с quantize=8, Ultralytics выберет набор данных для калибровки по умолчанию для соответствующей задачи модели.
fractionfloat, int или list1.0Подмножество для калибровки, заданное как доля, количество изображений или [train, val, test] отношения/количества. Если список содержит два элемента, test остаётся без изменений, а 0 пропускает его.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps).

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

Предупреждение

OpenVINO™ совместим с большинством процессоров Intel®, но для оптимальной работы:

  1. Проверь поддержку OpenVINO™ Узнай, поддерживается ли твой чип Intel® официально в OpenVINO™, с помощью списка совместимости Intel.

  2. Определи тип ускорителя Проверь, есть ли в процессоре встроенный NPU (нейронный процессор) или GPU (встроенный GPU), воспользовавшись руководством Intel по оборудованию.

  3. Установи последние версии драйверов Если твой чип поддерживает NPU или GPU, но OpenVINO™ не обнаруживает его, возможно, нужно установить или обновить соответствующие драйверы. Следуй инструкциям по установке драйверов, чтобы задействовать аппаратное ускорение в полной мере.

Выполнив эти три шага, ты обеспечишь оптимальную работу OpenVINO™ на оборудовании Intel®.

Преимущества OpenVINO#

  1. Производительность: OpenVINO обеспечивает высокую скорость инференса, используя возможности CPU, встроенных и дискретных GPU, а также FPGA Intel.
  2. Поддержка гетерогенного выполнения: OpenVINO предоставляет API, позволяющий один раз написать код и развернуть его на любом поддерживаемом оборудовании Intel (CPU, GPU, FPGA, VPU и т. д.).
  3. Оптимизатор моделей: OpenVINO предоставляет оптимизатор моделей, который импортирует, преобразует и оптимизирует модели из популярных фреймворков глубокого обучения, таких как PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle и Caffe.
  4. Простота использования: в комплект входит большая коллекция учебных ноутбуков, в том числе ноутбук по оптимизации YOLO26, которые знакомят с различными возможностями набора инструментов.

Структура экспорта OpenVINO#

При экспорте модели в формат OpenVINO создаётся каталог со следующими файлами:

  1. Файл XML: описывает топологию сети.
  2. Файл BIN: содержит двоичные данные весов и смещений.
  3. Файл метаданных: metadata.yaml содержит метаданные модели, такие как названия классов, размер изображения и задача; Ultralytics считывает их при загрузке модели.

Эти файлы можно использовать для выполнения инференса с помощью OpenVINO Runtime.

Использование экспорта OpenVINO при развёртывании#

После успешного экспорта модели в формат OpenVINO у тебя есть два основных способа выполнить инференс:

  1. Используй пакет ultralytics: он предоставляет API высокого уровня и обёртку над OpenVINO Runtime.

  2. Для более гибкого управления поведением инференса используй нативный пакет openvino.

Инференс с Ultralytics#

Пакет ultralytics позволяет легко выполнять инференс с экспортированной моделью OpenVINO с помощью метода predict. Также можно указать целевое устройство (например, intel:gpu, intel:npu, intel:cpu) с помощью аргумента device.

from ultralytics import YOLO

# Загрузи экспортированную модель OpenVINO
ov_model = YOLO("yolo26n_openvino_model/")  # путь к экспортированной модели OpenVINO
# Выполни инференс с экспортированной моделью
ov_model.predict(device="intel:gpu")  # укажи устройство, на котором нужно выполнить инференс

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

Инференс с OpenVINO Runtime#

OpenVINO Runtime предоставляет единый API для инференса на всех поддерживаемых устройствах Intel. Он также предлагает расширенные возможности, например балансировку нагрузки между устройствами Intel и асинхронное выполнение. Дополнительные сведения о запуске инференса смотри в ноутбуках YOLO26.

Помни: для правильной настройки модели и работы с ней в Runtime тебе понадобятся файлы XML и BIN, а также параметры приложения, например размер входных данных, коэффициент масштабирования для нормализации и т. д.

В приложении для развёртывания обычно выполняют следующие шаги:

  1. Инициализируй OpenVINO, создав core = Core().
  2. Загрузи модель с помощью метода core.read_model().
  3. Скомпилируй модель с помощью функции core.compile_model().
  4. Подготовь входные данные (изображение, текст, аудио и т. д.).
  5. Выполни инференс с помощью compiled_model(input_data).

Подробные инструкции и примеры кода смотри в документации OpenVINO или руководстве по API.

Результаты тестирования YOLO26 с OpenVINO#

Команда Ultralytics протестировала YOLO26 в различных форматах модели и с разной точностью, оценив скорость и точность на разных устройствах Intel, совместимых с OpenVINO.

Примечание
  • Приведённые ниже результаты тестирования предназначены для справки. Они могут различаться в зависимости от конкретной конфигурации оборудования и программного обеспечения, а также текущей нагрузки на систему во время тестирования.

  • Все тесты проводились с помощью пакета Python openvino версии 2026.2.1.

  • Модели YOLO26 поддерживаются на NPU только в системах Intel® Core™ Ultra™ серий 2xxV и 3xx, а также в более новых системах.

Intel® Core™ Ultra#

Серия Intel® Core™ Ultra™ задаёт новый уровень высокопроизводительных вычислений и создана с учётом меняющихся потребностей современных пользователей — от геймеров и авторов контента до специалистов, использующих ИИ. Это поколение выходит за рамки традиционной серии CPU: в одном чипе сочетаются мощные ядра CPU, высокопроизводительный встроенный GPU и специализированный нейронный процессор (NPU), образуя универсальное решение для разнообразных ресурсоёмких задач.

В основе архитектуры Intel® Core Ultra™ лежит гибридная конструкция, обеспечивающая высокую производительность при выполнении традиционных вычислительных задач, нагрузок с ускорением на GPU и операций на основе ИИ. NPU ускоряет инференс ИИ непосредственно на устройстве, делая машинное обучение и обработку данных быстрее и эффективнее в самых разных приложениях.

Семейство Core Ultra™ включает модели для разных требований к производительности: от энергоэффективных решений до мощных вариантов с обозначением «H», идеально подходящих для ноутбуков и компактных устройств, которым нужна высокая вычислительная мощность. Благодаря сочетанию CPU, GPU и NPU пользователи получают высокую эффективность, отзывчивость и возможности многозадачности.

Серия Core Ultra™ — часть постоянной работы Intel над инновациями и новый ориентир для вычислительных систем будущего. Доступно несколько моделей, и скоро появятся новые; эта серия подтверждает стремление Intel создавать передовые решения для нового поколения интеллектуальных устройств с расширенными возможностями ИИ.

Приведённые ниже тесты выполнены на Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V и Intel® Core™ Ultra™ 7 155H с точностью FP32, FP16 и INT8.

Intel® Core™ Ultra™ X7 358H#

Результаты тестирования
Intel Core Ultra GPU benchmarks
Подробные результаты тестирования
МодельФорматТочностьСтатусРазмер (МБ)metrics/mAP50-95(B)Время инференса (мс/изобр.)
YOLO26nPyTorch (CPU)FP32✅5.30.476529.28
YOLO26nOpenVINOFP32✅9.70.47624.09
YOLO26nOpenVINOFP16✅5.10.47624.03
YOLO26nOpenVINOINT8✅3.20.46344.24
YOLO26sPyTorch (CPU)FP32✅19.50.570359.32
YOLO26sOpenVINOFP32✅36.70.56165.08
YOLO26sOpenVINOFP16✅18.70.56165.14
YOLO26sOpenVINOINT8✅10.00.54624.47
YOLO26mPyTorch (CPU)FP32✅42.20.6196143.21
YOLO26mOpenVINOFP32✅78.40.61667.1
YOLO26mOpenVINOFP16✅39.50.61667.06
YOLO26mOpenVINOINT8✅20.60.60555.61
YOLO26lPyTorch (CPU)FP32✅50.70.6215181.16
YOLO26lOpenVINOFP32✅95.30.62058.45
YOLO26lOpenVINOFP16✅48.10.62058.49
YOLO26lOpenVINOINT8✅25.20.59386.25
YOLO26xPyTorch (CPU)FP32✅113.20.6512379.75
YOLO26xOpenVINOFP32✅213.30.656813.03
YOLO26xOpenVINOFP16✅107.10.656812.98
YOLO26xOpenVINOINT8✅54.80.63858.74

Intel® Core™ Ultra™ 7 258V#

Результаты тестирования
Intel Core Ultra GPU benchmarks
Подробные результаты тестирования
МодельФорматТочностьСтатусРазмер (МБ)metrics/mAP50-95(B)Время инференса (мс/изобр.)
YOLO26nPyTorch (CPU)FP32✅5.30.476527.33
YOLO26nOpenVINOFP32✅9.60.47643.33
YOLO26nOpenVINOFP16✅5.10.47643.34
YOLO26nOpenVINOINT8✅3.20.46343.46
YOLO26sPyTorch (CPU)FP32✅19.50.570360.2
YOLO26sOpenVINOFP32✅36.70.56164.66
YOLO26sOpenVINOFP16✅18.60.56164.65
YOLO26sOpenVINOINT8✅10.00.54623.99
YOLO26mPyTorch (CPU)FP32✅42.20.6196152.87
YOLO26mOpenVINOFP32✅78.40.61689.03
YOLO26mOpenVINOFP16✅39.50.61688.98
YOLO26mOpenVINOINT8✅20.60.60555.7
YOLO26lPyTorch (CPU)FP32✅50.70.6215201.57
YOLO26lOpenVINOFP32✅95.30.620311.32
YOLO26lOpenVINOFP16✅48.10.620311.36
YOLO26lOpenVINOINT8✅25.20.59387.45
YOLO26xPyTorch (CPU)FP32✅113.20.6512431.04
YOLO26xOpenVINOFP32✅213.20.656819.08
YOLO26xOpenVINOFP16✅107.10.656819.63
YOLO26xOpenVINOINT8✅54.80.638513.69

Intel® Core™ Ultra™ 7 155H#

Результаты тестирования
Intel Core Ultra GPU benchmarks
Подробные результаты тестирования
МодельФорматТочностьСтатусРазмер (МБ)metrics/mAP50-95(B)Время инференса (мс/изобр.)
YOLO26nPyTorch (CPU)FP32✅5.30.476533.19
YOLO26nOpenVINOFP32✅9.60.47589.13
YOLO26nOpenVINOFP16✅5.10.47589.07
YOLO26nOpenVINOINT8✅3.20.45735.79
YOLO26sPyTorch (CPU)FP32✅19.50.570370.92
YOLO26sOpenVINOFP32✅36.70.561616.37
YOLO26sOpenVINOFP16✅18.60.561616.65
YOLO26sOpenVINOINT8✅10.00.5459.27
YOLO26mPyTorch (CPU)FP32✅42.20.6196192.45
YOLO26mOpenVINOFP32✅78.40.616734.47
YOLO26mOpenVINOFP16✅39.50.616735.71
YOLO26mOpenVINOINT8✅20.60.603915.46
YOLO26lPyTorch (CPU)FP32✅50.70.6215239.19
YOLO26lOpenVINOFP32✅95.30.62143.24
YOLO26lOpenVINOFP16✅48.10.62143.4
YOLO26lOpenVINOINT8✅25.20.599919.72
YOLO26xPyTorch (CPU)FP32✅113.20.6512511.89
YOLO26xOpenVINOFP32✅213.20.655279.49
YOLO26xOpenVINOFP16✅107.10.655279.45
YOLO26xOpenVINOINT8✅54.80.64234.66

Воспроизведение наших результатов#

Чтобы повторить приведённые выше тесты Ultralytics для всех форматов экспорта, выполни этот код:

Пример
from ultralytics import YOLO

# Загрузи модель YOLO26n в формате PyTorch
model = YOLO("yolo26n.pt")

# Сравнение скорости и точности YOLO26n на наборе данных COCO128 для всех форматов экспорта
results = model.benchmark(data="coco128.yaml")

Учти, что результаты тестирования могут различаться в зависимости от точной конфигурации оборудования и программного обеспечения, а также текущей нагрузки на систему во время тестирования. Для наиболее надёжных результатов используй набор данных с большим количеством изображений, например data='coco.yaml' (5000 изображений для проверки).

Заключение#

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

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

Подробнее о работе с OpenVINO и инструкциях см. в официальной документации OpenVINO.

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

  • Экспорт моделей YOLO26 в формат OpenVINO может значительно повысить скорость работы на CPU и обеспечить ускорение на GPU и NPU на оборудовании Intel. Для экспорта можно использовать Python или CLI, как показано ниже:

    Пример
    from ultralytics import YOLO
    
    # Загрузи модель YOLO26n в формате PyTorch
    model = YOLO("yolo26n.pt")
    
    # Экспортировать модель
    model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

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

  • Использование набора инструментов Intel OpenVINO с моделями YOLO26 дает несколько преимуществ:

    1. Производительность: ускорение инференса на CPU до 3 раз и использование GPU и NPU Intel для ускорения.
    2. Оптимизатор моделей: преобразование, оптимизация и выполнение моделей из популярных фреймворков, таких как PyTorch, TensorFlow и ONNX.
    3. Простота использования: доступна большая коллекция обучающих ноутбуков, которые помогут начать работу, в том числе ноутбуки для YOLO26.
    4. Гетерогенное выполнение: развертывание моделей на различном оборудовании Intel с использованием единого API.

    Подробное сравнение производительности см. в разделе бенчмаркинга.

  • После экспорта модели YOLO26n в формат OpenVINO можно запустить инференс с помощью Python или CLI:

    Пример
    from ultralytics import YOLO
    
    # Загрузи экспортированную модель OpenVINO
    ov_model = YOLO("yolo26n_openvino_model/")
    
    # Выполнить инференс
    results = ov_model("https://ultralytics.com/images/bus.jpg")

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

  • Ultralytics YOLO26 оптимизирована для обнаружения объектов в реальном времени с высокой точностью и скоростью. В частности, в сочетании с OpenVINO YOLO26 обеспечивает:

    • Ускорение до 3 раз на CPU Intel
    • Простое развертывание на GPU и NPU Intel
    • Стабильную и сопоставимую точность в различных форматах экспорта

    Подробный анализ производительности на разном оборудовании см. в нашем детальном бенчмаркинге YOLO26.

  • Да, можно сравнить производительность моделей YOLO26 в различных форматах, включая PyTorch, TorchScript, ONNX и OpenVINO. Используй следующий фрагмент кода, чтобы запустить бенчмаркинг на выбранном наборе данных:

    Пример
    from ultralytics import YOLO
    
    # Загрузи модель YOLO26n в формате PyTorch
    model = YOLO("yolo26n.pt")
    
    # Сравнение скорости и точности YOLO26n на наборе данных COCO8 для всех форматов экспорта
    results = model.benchmark(data="coco8.yaml")

    Подробные результаты бенчмаркинга см. в разделе бенчмаркинга и в документации по форматам экспорта.

Комментарии