Экспорт в Intel OpenVINO#
В этом руководстве мы рассматриваем экспорт моделей YOLO26 в формат OpenVINO, который может обеспечить ускорение CPU до 3 раз, а также ускорение инференса YOLO на оборудовании Intel GPU и NPU.
OpenVINO (сокращение от Open Visual Inference & Neural Network Optimization toolkit) — это комплексный набор инструментов для оптимизации и развертывания моделей инференса ИИ. Несмотря на то, что в названии присутствует слово Visual, OpenVINO также поддерживает различные дополнительные задачи, включая язык, аудио, временные ряды и т. д.
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
Поддерживаемые задачи#
Экспорт OpenVINO поддерживает все семь задач Ultralytics. Семантическая сегментация и оценка глубины доступны только в YOLO26, единственном семействе, в котором поставляются эти «головы».
Примеры использования#
Формат OpenVINO поддерживает режимы Export, Predict и Validate. Экспортируй свою модель, затем загрузи экспортированную модель для запуска инференса или проверки ее точности на CPU, встроенном/дискретном GPU или NPU от Intel.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to OpenVINO format
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'openvino' | Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для входа модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров. |
quantize | int или str | None | Точность квантования: 16 (FP16) или 8 (INT8/PTQ; требуется калибровка data/fraction); 32/не задано — это FP32. Заменяет устаревшие флаги half/int8. |
dynamic | bool | False | Позволяет использовать динамические размеры входных данных, повышая гибкость при обработке изображений с различными размерами. |
nms | bool | False | Добавляет подавление немаксимумов (NMS), что необходимо для точной и эффективной постобработки обнаружений. |
batch | int | 1 | Указывает размер пакета для пакетного инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict. |
data | str | None | Путь к YAML датасета, необходимый для квантования; для классификации вместо этого указывается каталог датасета или встроенное имя датасета. Если не указано с quantize=8, Ultralytics выбирает датасет калибровки по умолчанию для задачи модели. |
fraction | float, int или list | 1.0 | Калибровочное подмножество в виде соотношения, количества изображений или [train, val] соотношений/количеств; список ограничивает train или val, в то время как test остается полным. |
Дополнительную информацию о процессе экспорта см. на странице документации Ultralytics по экспорту.
OpenVINO™ совместим с большинством процессоров Intel®, но для обеспечения оптимальной производительности:
-
Проверь поддержку OpenVINO™ Убедись, поддерживается ли твой чип Intel® официально с помощью OpenVINO™, используя список совместимости Intel.
-
Определи свой ускоритель Выясни, включает ли твой процессор встроенный NPU (нейронный процессор) или GPU (встроенный графический процессор), обратившись к руководству по железу Intel.
-
Установи последние драйверы Если твой чип поддерживает NPU или GPU, но OpenVINO™ его не обнаруживает, тебе может потребоваться установить или обновить связанные драйверы. Следуй инструкциям по установке драйверов, чтобы включить полное ускорение.
Выполнив эти три шага, ты обеспечишь оптимальную работу OpenVINO™ на своем оборудовании Intel®.
Преимущества OpenVINO#
- Производительность: OpenVINO обеспечивает высокопроизводительный инференс, используя мощность CPU, интегрированных и дискретных GPU, а также FPGA от Intel.
- Поддержка гетерогенного выполнения: OpenVINO предоставляет API для написания кода один раз и развертывания на любом поддерживаемом оборудовании Intel (CPU, GPU, FPGA, VPU и т. д.).
- Model Optimizer: OpenVINO предоставляет Model Optimizer, который импортирует, преобразует и оптимизирует модели из популярных фреймворков глубокого обучения, таких как PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle и Caffe.
- Простота использования: Набор инструментов поставляется с большой коллекцией ноутбуков с туториалами (включая оптимизацию YOLO26), обучающих различным аспектам работы с инструментарием.
Структура экспорта OpenVINO#
Когда ты экспортируешь модель в формат OpenVINO, создается директория, содержащая следующее:
- XML-файл: Описывает топологию сети.
- BIN-файл: Содержит бинарные данные весов и смещений.
- Файл маппинга: Содержит сопоставление тензоров вывода оригинальной модели с именами тензоров OpenVINO.
Ты можешь использовать эти файлы для запуска инференса с помощью движка OpenVINO Inference Engine.
Использование экспорта OpenVINO при развертывании#
Как только твоя модель успешно экспортирована в формат OpenVINO, у тебя есть два основных варианта запуска инференса:
-
Используй пакет
ultralytics, который предоставляет API высокого уровня и оборачивает рантайм OpenVINO. -
Используй нативный пакет
openvinoдля более продвинутого или настраиваемого контроля над поведением инференса.
Инференс с Ultralytics#
Пакет ultralytics позволяет легко запустить инференс с помощью экспортированной модели OpenVINO через метод predict. Ты также можешь указать целевое устройство (например, intel:gpu, intel:npu, intel:cpu), используя аргумент device.
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference onЭтот подход идеально подходит для быстрого прототипирования или развертывания, когда тебе не нужен полный контроль над конвейером инференса.
Инференс с OpenVINO Runtime#
Рантайм OpenVINO предоставляет единый API для инференса на всем поддерживаемом оборудовании Intel. Он также предоставляет расширенные возможности, такие как балансировка нагрузки между аппаратным обеспечением Intel и асинхронное выполнение. Для получения дополнительной информации о запуске инференса обратись к ноутбукам YOLO26.
Помни, что тебе понадобятся XML и BIN файлы, а также любые специфичные для приложения настройки, такие как размер входных данных, коэффициент масштабирования для нормализации и т. д., чтобы правильно настроить и использовать модель с Runtime.
В своем приложении для развертывания ты обычно выполняешь следующие шаги:
- Инициализируй OpenVINO, создав
core = Core(). - Загрузи модель с помощью метода
core.read_model(). - Скомпилируй модель с помощью функции
core.compile_model(). - Подготовь входные данные (изображение, текст, аудио и т. д.).
- Запусти инференс, используя
compiled_model(input_data).
Для получения более подробных шагов и фрагментов кода обратись к документации OpenVINO или туториалу по API.
Бенчмарки OpenVINO YOLO26#
Команда Ultralytics протестировала YOLO26 на различных форматах моделей и точностях, оценив скорость и точность на различных устройствах Intel, совместимых с OpenVINO.
-
Приведенные ниже результаты тестирования предназначены для справки и могут варьироваться в зависимости от точной конфигурации оборудования и программного обеспечения системы, а также от текущей нагрузки на систему во время запуска бенчмарков.
-
Все бенчмарки были запущены с пакетом Python
openvinoверсии 2026.2.1. -
Модели YOLO26 на NPU поддерживаются только на системах Intel® Core™ Ultra™ с процессорами серии 2xxV, серии 3xx и выше.
Intel® Core™ Ultra#
Серия Intel® Core™ Ultra™ представляет собой новый стандарт высокопроизводительных вычислений, разработанный для удовлетворения растущих потребностей современных пользователей — от геймеров и создателей контента до профессионалов, использующих ИИ. Эта линейка нового поколения — больше, чем просто традиционная серия CPU; она объединяет мощные ядра процессора, интегрированные высокопроизводительные графические возможности GPU и выделенный нейронный процессор (NPU) в одном чипе, предлагая единое решение для разнообразных и интенсивных вычислительных задач.
В основе архитектуры Intel® Core Ultra™ лежит гибридный дизайн, который обеспечивает исключительную производительность при выполнении традиционных задач обработки, рабочих нагрузок с ускорением на GPU и операций на основе ИИ. Включение NPU улучшает инференс ИИ на устройстве, обеспечивая более быстрое и эффективное машинное обучение и обработку данных для широкого спектра приложений.
Семейство Core Ultra™ включает различные модели, адаптированные под разные потребности в производительности, с вариантами от энергоэффективных конструкций до высокопроизводительных моделей, отмеченных обозначением "H" — идеальный выбор для ноутбуков и компактных форм-факторов, требующих серьезной вычислительной мощности. Во всей линейке пользователи получают преимущества от синергии интеграции CPU, GPU и NPU, что обеспечивает замечательную эффективность, отзывчивость и многозадачность.
Являясь частью постоянных инноваций Intel, серия Core Ultra™ устанавливает новый стандарт для вычислений будущего. Благодаря наличию множества моделей и новым анонсам впереди, эта серия подчеркивает приверженность Intel созданию передовых решений для следующего поколения интеллектуальных устройств с поддержкой ИИ.
Бенчмарки ниже запущены на Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V и Intel® Core™ Ultra™ 7 155H при точности FP32, FP16 и INT8.
Intel® Core™ Ultra™ X7 358H#
Подробные результаты бенчмарков
| Модель | Формат | Precision | Статус | Размер (МБ) | метрики/mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 29.28 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.7 | 0.4762 | 4.09 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 4.03 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 4.24 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 59.32 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.08 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.7 | 0.5616 | 5.14 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 4.47 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 143.21 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6166 | 7.1 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6166 | 7.06 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.61 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 181.16 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6205 | 8.45 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6205 | 8.49 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 6.25 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 379.75 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.3 | 0.6568 | 13.03 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 12.98 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 8.74 |
Intel® Core™ Ultra™ 7 258V#
Подробные результаты бенчмарков
| Модель | Формат | Precision | Статус | Размер (МБ) | метрики/mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 27.33 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4764 | 3.33 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4764 | 3.34 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 3.46 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.2 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 4.66 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 4.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 3.99 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 152.87 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6168 | 9.03 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 8.98 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.7 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 201.57 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6203 | 11.32 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6203 | 11.36 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 7.45 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 431.04 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6568 | 19.08 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 19.63 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 13.69 |
Intel® Core™ Ultra™ 7 155H#
Подробные результаты бенчмарков
| Модель | Формат | Precision | Статус | Размер (МБ) | метрики/mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 33.19 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4758 | 9.13 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4758 | 9.07 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4573 | 5.79 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 70.92 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 16.37 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 16.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.545 | 9.27 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.45 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6167 | 34.47 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6167 | 35.71 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6039 | 15.46 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 239.19 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.621 | 43.24 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.621 | 43.4 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 19.72 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 511.89 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6552 | 79.49 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6552 | 79.45 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.642 | 34.66 |
Воспроизведи наши результаты#
Чтобы воспроизвести приведенные выше бенчмарки Ultralytics для всех форматов экспорта, запусти этот код:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")Обрати внимание, что результаты бенчмаркинга могут варьироваться в зависимости от точной конфигурации оборудования и программного обеспечения системы, а также от текущей нагрузки на систему во время выполнения бенчмарков. Для получения наиболее надежных результатов используй датасет с большим количеством изображений, т. е. data='coco.yaml' (5000 изображений валидации).
Заключение#
Результаты бенчмаркинга наглядно демонстрируют преимущества экспорта модели YOLO26 в формат OpenVINO. Для различных моделей и аппаратных платформ формат OpenVINO неизменно превосходит другие форматы по скорости вывода, сохраняя при этом сопоставимую точность.
Эти тесты подчеркивают эффективность OpenVINO как инструмента для развертывания моделей глубокого обучения. Преобразуя модели в формат OpenVINO, ты можешь добиться значительного повышения производительности, что упрощает их развертывание в реальных задачах.
Для получения более подробной информации и инструкций по использованию OpenVINO обратись к официальной документации OpenVINO.
FAQ#
Экспорт моделей YOLO26 в формат OpenVINO может значительно увеличить скорость на CPU и обеспечить ускорение на GPU и NPU при использовании аппаратного обеспечения Intel. Для экспорта ты можешь использовать Python или CLI, как показано ниже:
Примерfrom ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Export the model model.export(format="openvino") # creates 'yolo26n_openvino_model/'Для получения дополнительной информации обратись к документации по форматам экспорта.
Использование инструментария Intel OpenVINO с моделями YOLO26 дает несколько преимуществ:
- Производительность: Ускорение вывода на CPU до 3 раз и использование Intel GPU и NPU для оптимизации работы.
- Оптимизатор моделей: Конвертируй, оптимизируй и запускай модели из популярных фреймворков, таких как PyTorch, TensorFlow и ONNX.
- Простота использования: Доступна обширная коллекция обучающих ноутбуков, которые помогут тебе начать работу, включая ноутбуки для YOLO26.
- Гетерогенное выполнение: Развертывай модели на различном оборудовании Intel с помощью единого API.
Для получения подробных сравнений производительности посети наш раздел бенчмарков.
После экспорта модели YOLO26n в формат OpenVINO ты можешь запустить вывод с помощью Python или CLI:
Примерfrom ultralytics import YOLO # Load the exported OpenVINO model ov_model = YOLO("yolo26n_openvino_model/") # Run inference 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 # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats results = model.benchmark(data="coco8.yaml")Для получения подробных результатов бенчмарков обратись к нашему разделу бенчмарков и документации по форматам экспорта.