Skip to main content

Exportación a Intel OpenVINO

OpenVINO Intel AI inference toolkit

En esta guía, cubrimos la exportación de modelos YOLO26 al formato OpenVINO, que puede proporcionar hasta una aceleración de 3x, además de acelerar la inferencia de YOLO en la CPUNPU de Intel.GPU y NPU.

OpenVINO, abreviatura de Open Visual Inference & Neural Network Optimization toolkit, es un kit de herramientas integral para optimizar y desplegar modelos de inferencia de IA. Aunque el nombre contenga Visual, OpenVINO también admite diversas tareas adicionales, incluyendo lenguaje, audio, series temporales, etc.



Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀

Ejemplos de uso

Exporta un modelo YOLO26n al formato OpenVINO y ejecuta la inferencia con el modelo exportado.

Ejemplo
from ultralytics import YOLO

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

# Export the model
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")

# Run inference with specified device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")

Argumentos de exportación

ArgumentoTipoPredeterminadoDescripción
formatstr'openvino'Formato de destino para el modelo exportado, definiendo la compatibilidad con varios entornos de despliegue.
imgszint o tuple640Tamaño de imagen deseado para la entrada del modelo. Puede ser un número entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas.
halfboolFalseHabilita la cuantificación FP16 (precisión media), reduciendo el tamaño del modelo y potencialmente acelerando la inferencia en hardware compatible.
int8boolFalseActiva la cuantización INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida de precisión pérdida, principalmente para dispositivos de borde.
dynamicboolFalsePermite tamaños de entrada dinámicos, mejorando la flexibilidad al manejar dimensiones de imagen variables.
nmsboolFalseAñade la supresión no máxima (NMS), esencial para un posprocesamiento de detección preciso y eficiente.
batchint1Especifica el tamaño de inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en modo predict.
datastr'coco8.yaml'Ruta al archivo de configuración del dataset archivo de configuración (predeterminado: coco8.yaml), esencial para la cuantización.
fractionfloat1.0Especifica la fracción del conjunto de datos a utilizar para la calibración de cuantización INT8. Permite calibrar sobre un subconjunto del conjunto de datos completo, útil para experimentos o cuando los recursos son limitados. Si no se especifica con INT8 habilitado, se utilizará el conjunto de datos completo.

Para más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Advertencia

OpenVINO™ es compatible con la mayoría de los procesadores Intel®, pero para garantizar un rendimiento óptimo:

  1. Verifica la compatibilidad con OpenVINO™ Comprueba si tu chip Intel® es oficialmente compatible con OpenVINO™ utilizando la lista de compatibilidad de Intel.

  2. Identifica tu acelerador Determina si tu procesador incluye una NPU integrada (Unidad de Procesamiento Neuronal) o una GPU (GPU integrada) consultando la guía de hardware de Intel.

  3. Instala los controladores más recientes Si tu chip admite una NPU o GPU pero OpenVINO™ no la detecta, es posible que debas instalar o actualizar los controladores asociados. Sigue las instrucciones de instalación de controladores para habilitar la aceleración completa.

Siguiendo estos tres pasos, puedes asegurarte de que OpenVINO™ se ejecute de manera óptima en tu hardware Intel®.

Beneficios de OpenVINO

  1. Rendimiento: OpenVINO ofrece una inferencia de alto rendimiento mediante la utilización de la potencia de las CPU, las GPU integradas y discretas, y las FPGA de Intel.
  2. Soporte para Ejecución Heterogénea: OpenVINO proporciona una API para escribir una vez y desplegar en cualquier hardware Intel compatible (CPU, GPU, FPGA, VPU, etc.).
  3. Optimizador de Modelos: OpenVINO proporciona un Optimizador de Modelos que importa, convierte y optimiza modelos de frameworks populares deep learning como PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle y Caffe.
  4. Facilidad de uso: El kit de herramientas viene con más de 80 tutorial notebooks (incluyendo YOLO26 optimization) que enseñan diferentes aspectos del kit de herramientas.

Estructura de Exportación de OpenVINO

Cuando exportas un modelo al formato OpenVINO, el resultado es un directorio que contiene lo siguiente:

  1. Archivo XML: Describe la topología de la red.
  2. Archivo BIN: Contiene los datos binarios de los pesos y sesgos.
  3. Archivo de mapeo: Contiene el mapeo de los tensores de salida del modelo original a los nombres de los tensores de OpenVINO.

Puedes utilizar estos archivos para ejecutar la inferencia con el Motor de Inferencia de OpenVINO.

Uso de la Exportación de OpenVINO en el Despliegue

Una vez que tu modelo se haya exportado correctamente al formato OpenVINO, tienes dos opciones principales para ejecutar la inferencia:

  1. Usa el comando ultralytics paquete, que proporciona una API de alto nivel y envuelve el Runtime de OpenVINO.

  2. Usa el paquete nativo openvino para un control más avanzado o personalizado sobre el comportamiento de la inferencia.

Inferencia con Ultralytics

El paquete ultralytics te permite ejecutar fácilmente la inferencia utilizando el modelo de OpenVINO exportado a través del método predict. También puedes especificar el dispositivo de destino (por ejemplo, intel:gpu, intel:npu, intel:cpu) utilizando el argumento 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

Este enfoque es ideal para la creación rápida de prototipos o despliegue cuando no necesitas un control total sobre el pipeline de inferencia.

Inferencia con OpenVINO Runtime

El Runtime de OpenVINO proporciona una API unificada para la inferencia en todo el hardware Intel compatible. También ofrece capacidades avanzadas como el equilibrio de carga a través del hardware Intel y la ejecución asíncrona. Para obtener más información sobre cómo ejecutar la inferencia, consulta los YOLO26 notebooks.

Recuerda que necesitarás los archivos XML y BIN, así como cualquier configuración específica de la aplicación como el tamaño de entrada, el factor de escala para la normalización, etc., para configurar y utilizar correctamente el modelo con el Runtime.

En tu aplicación de despliegue, normalmente seguirías estos pasos:

  1. Inicializa OpenVINO creando core = Core().
  2. Carga el modelo utilizando el core.read_model().
  3. Compila el modelo utilizando el core.compile_model().
  4. Prepara la entrada (imagen, texto, audio, etc.).
  5. Ejecuta la inferencia utilizando compiled_model(input_data).

Para obtener pasos más detallados y fragmentos de código, consulta el OpenVINO documentation o API tutorial.

Benchmarks de YOLO11 con OpenVINO

El equipo de Ultralytics evaluó YOLO11 en varios formatos de modelo y precisión, evaluando la velocidad y la precisión en diferentes dispositivos Intel compatibles con OpenVINO.

Nota

Los resultados de los benchmarks a continuación son de referencia y pueden variar según la configuración exacta del hardware y software de un sistema, así como la carga de trabajo actual del sistema en el momento en que se ejecutan los benchmarks.

Todos los benchmarks se ejecutan con openvino Python package version 2025.1.0.

Intel Core CPU

La serie Intel® Core® es una gama de procesadores de alto rendimiento de Intel. La línea incluye Core i3 (nivel de entrada), Core i5 (gama media), Core i7 (gama alta) y Core i9 (rendimiento extremo). Cada serie atiende a diferentes necesidades informáticas y presupuestos, desde tareas cotidianas hasta cargas de trabajo profesionales exigentes. Con cada nueva generación, se realizan mejoras en el rendimiento, la eficiencia energética y las características.

Los benchmarks a continuación se ejecutan en una CPU Intel® Core® i9-12900KS de 12ª generación a precisión FP32.

OpenVINO YOLO inference benchmarks on Intel CPU
Resultados detallados del Benchmark
ModeloFormatoEstadoTamaño (MB)métricas/mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO11nPyTorch5.40.507121.00
YOLO11nTorchScript10.50.507721.39
YOLO11nONNX3.920.507715.55
YOLO11nOpenVINO10.40.507711.49
YOLO11sPyTorch18.40.577043.16
YOLO11sTorchScript36.60.578150.06
YOLO11sONNX36.30.578131.53
YOLO11sOpenVINO36.40.578130.82
YOLO11mPyTorch38.80,6257110.60
YOLO11mTorchScript77.30.6306128.09
YOLO11mONNX76.90.630676.06
YOLO11mOpenVINO77.10.630679.38
YOLO11lPyTorch49.00.6367150.38
YOLO11lTorchScript97.70.6408172.57
YOLO11lONNX97.00.6408108.91
YOLO11lOpenVINO97.30.6408102.30
YOLO11xPyTorch109.30.6989272.72
YOLO11xTorchScript218.10,6900320.86
YOLO11xONNX217.50,6900196.20
YOLO11xOpenVINO217.80,6900195.32

Intel® Core™ Ultra

La serie Intel® Core™ Ultra™ representa un nuevo estándar en computación de alto rendimiento, diseñada para satisfacer las demandas cambiantes de los usuarios modernos, desde jugadores y creadores hasta profesionales que aprovechan la IA. Esta línea de próxima generación es más que una serie de CPU tradicional; combina potentes núcleos de CPU, capacidades de GPU integrada de alto rendimiento y una Unidad de Procesamiento Neuronal (NPU) dedicada dentro de un solo chip, ofreciendo una solución unificada para cargas de trabajo computacionales diversas e intensivas.

En el corazón de la arquitectura Intel® Core Ultra™ se encuentra un diseño híbrido que permite un rendimiento excepcional en tareas de procesamiento tradicionales, cargas de trabajo aceleradas por GPU y operaciones impulsadas por IA. La inclusión de la NPU mejora la inferencia de IA en el dispositivo, permitiendo un aprendizaje automático y un procesamiento de datos más rápidos y eficientes en una amplia gama de aplicaciones.

La familia Core Ultra™ incluye varios modelos adaptados a diferentes necesidades de rendimiento, con opciones que van desde diseños energéticamente eficientes hasta variantes de alta potencia marcadas con la designación "H", ideales para portátiles y formatos compactos que requieren una potencia de cálculo considerable. En toda la línea, los usuarios se benefician de la sinergia de la integración de CPU, GPU y NPU, ofreciendo una eficiencia, capacidad de respuesta y capacidades de multitarea notables.

Como parte de la innovación continua de Intel, la serie Core Ultra™ establece un nuevo estándar para la informática preparada para el futuro. Con múltiples modelos disponibles y más en el horizonte, esta serie subraya el compromiso de Intel de ofrecer soluciones de vanguardia para la próxima generación de dispositivos inteligentes y mejorados con IA.

Los benchmarks a continuación se ejecutan en Intel® Core™ Ultra™ 7 258V e Intel® Core™ Ultra™ 7 265K con precisión FP32 e INT8.

Intel® Core™ Ultra™ 7 258V

Benchmarks
Intel Core Ultra GPU benchmarks
Resultados detallados del Benchmark
ModeloFormatoPrecisiónEstadoTamaño (MB)métricas/mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO11nPyTorchFP325.40.505232.27
YOLO11nOpenVINOFP3210.40.506811.84
YOLO11nOpenVINOINT83.30.496911.24
YOLO11sPyTorchFP3218.40.577692.09
YOLO11sOpenVINOFP3236.40.579714.82
YOLO11sOpenVINOINT89.80.575112.88
YOLO11mPyTorchFP3238.80.6262277.24
YOLO11mOpenVINOFP3277.10.630622.94
YOLO11mOpenVINOINT820.20.612617.85
YOLO11lPyTorchFP3249.00.6361348.97
YOLO11lOpenVINOFP3297.30.636527.34
YOLO11lOpenVINOINT825.70.624220.83
YOLO11xPyTorchFP32109.30.6984666.07
YOLO11xOpenVINOFP32217.80.689039.09
YOLO11xOpenVINOINT855,90.685630.60

Intel® Core™ Ultra™ 7 265K

Benchmarks
Intel Core Ultra GPU benchmarks
Resultados detallados del Benchmark
ModeloFormatoPrecisiónEstadoTamaño (MB)métricas/mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO11nPyTorchFP325.40.507216.29
YOLO11nOpenVINOFP3210.40.507913.13
YOLO11nOpenVINOINT83.30.49768.86
YOLO11sPyTorchFP3218.40.577139.61
YOLO11sOpenVINOFP3236.40.580818.26
YOLO11sOpenVINOINT89.80.572613.24
YOLO11mPyTorchFP3238.80.6258100.65
YOLO11mOpenVINOFP3277.10.631043.50
YOLO11mOpenVINOINT820.20.613720.90
YOLO11lPyTorchFP3249.00.6367131.37
YOLO11lOpenVINOFP3297.30.637154.52
YOLO11lOpenVINOINT825.70.622627.36
YOLO11xPyTorchFP32109.30.6990212.45
YOLO11xOpenVINOFP32217.80.6884112.76
YOLO11xOpenVINOINT855,90,690052.06

Intel® Arc GPU

Intel® Arc™ es la línea de tarjetas gráficas discretas de Intel diseñada para juegos de alto rendimiento, creación de contenido y cargas de trabajo de IA. La serie Arc cuenta con arquitecturas GPU avanzadas que admiten trazado de rayos en tiempo real, gráficos mejorados por IA y juegos de alta resolución. Con un enfoque en el rendimiento y la eficiencia, Intel® Arc™ pretende competir con otras marcas líderes de GPU mientras ofrece características únicas como la codificación AV1 acelerada por hardware y soporte para las últimas API de gráficos.

Los benchmarks a continuación se ejecutan en Intel Arc A770 e Intel Arc B580 con precisión FP32 e INT8.

Intel Arc A770

Intel Core Ultra CPU benchmarks
Resultados detallados del Benchmark
ModeloFormatoPrecisiónEstadoTamaño (MB)métricas/mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO11nPyTorchFP325.40.507216.29
YOLO11nOpenVINOFP3210.40.50736.98
YOLO11nOpenVINOINT83.30.49787.24
YOLO11sPyTorchFP3218.40.577139.61
YOLO11sOpenVINOFP3236.40.57989.41
YOLO11sOpenVINOINT89.80.57518.72
YOLO11mPyTorchFP3238.80.6258100.65
YOLO11mOpenVINOFP3277.10.631114.88
YOLO11mOpenVINOINT820.20.612611.97
YOLO11lPyTorchFP3249.00.6367131.37
YOLO11lOpenVINOFP3297.30.636419.17
YOLO11lOpenVINOINT825.70.624115.75
YOLO11xPyTorchFP32109.30.6990212.45
YOLO11xOpenVINOFP32217.80.688818.13
YOLO11xOpenVINOINT855,90.693018.91

Intel Arc B580

Intel Core Ultra CPU benchmarks
Resultados detallados del Benchmark
ModeloFormatoPrecisiónEstadoTamaño (MB)métricas/mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO11nPyTorchFP325.40.507216.29
YOLO11nOpenVINOFP3210.40.50724.27
YOLO11nOpenVINOINT83.30.49814.33
YOLO11sPyTorchFP3218.40.577139.61
YOLO11sOpenVINOFP3236.40.57895.04
YOLO11sOpenVINOINT89.80.57464.97
YOLO11mPyTorchFP3238.80.6258100.65
YOLO11mOpenVINOFP3277.10.63066.45
YOLO11mOpenVINOINT820.20.61256.28
YOLO11lPyTorchFP3249.00.6367131.37
YOLO11lOpenVINOFP3297.30.63608.23
YOLO11lOpenVINOINT825.70.62368.49
YOLO11xPyTorchFP32109.30.6990212.45
YOLO11xOpenVINOFP32217.80.688911.10
YOLO11xOpenVINOINT855,90.692410.30

Reproduce nuestros resultados

Para reproducir los benchmarks de Ultralytics anteriores en todas las exportacionesformatos ejecuta este código:

Ejemplo
from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")

Ten en cuenta que los resultados de los benchmarks pueden variar según la configuración exacta de hardware y software del sistema, así como de la carga de trabajo actual del sistema en el momento en que se ejecutan los benchmarks. Para obtener los resultados más fiables, utiliza un conjunto de datos con un gran número de imágenes, p. ej.data='coco.yaml' (5000 imágenes de validación).

Conclusión

Los resultados de los benchmarks demuestran claramente las ventajas de exportar el modelo YOLO11 al formato OpenVINO. En diferentes modelos y plataformas de hardware, el formato OpenVINO supera sistemáticamente a otros formatos en cuanto a velocidad de inferencia, manteniendo al mismo tiempo una precisión comparable.

Los benchmarks subrayan la eficacia de OpenVINO como herramienta para desplegar modelos de aprendizaje profundo. Al convertir los modelos al formato OpenVINO, los desarrolladores pueden conseguir mejoras de rendimiento significativas, lo que facilita el despliegue de estos modelos en aplicaciones del mundo real.

Para obtener información e instrucciones más detalladas sobre el uso de OpenVINO, consulta ladocumentación oficial de OpenVINO.

Preguntas frecuentes

¿Cómo exporto modelos YOLO26 al formato OpenVINO?

Exportar modelos YOLO26 al formato OpenVINO puede mejorar significativamente la velocidad de la CPU y permitir aceleraciones de GPU y NPU en hardware Intel. Para exportar, puedes usar Python o CLI como se muestra a continuación:

Ejemplo
from ultralytics import YOLO

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

# Export the model
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

Para más información, consulta el documentación de formatos de exportación.

¿Cuáles son los beneficios de usar OpenVINO con modelos YOLO26?

Usar el kit de herramientas OpenVINO de Intel con modelos YOLO26 ofrece varias ventajas:

  1. Rendimiento: Consigue hasta 3 veces más velocidad en la inferencia de CPU y aprovecha las GPU y NPU de Intel para la aceleración.
  2. Optimizador de Modelos: Convierte, optimiza y ejecuta modelos desde marcos populares como PyTorch, TensorFlow y ONNX.
  3. Facilidad de uso: Hay más de 80 cuadernos de tutoriales disponibles para ayudar a los usuarios a empezar, incluidos los de YOLO26.
  4. Ejecución Heterogénea: Despliega modelos en varios tipos de hardware Intel con una API unificada.

Para comparaciones detalladas de rendimiento, visita nuestrasección de benchmarks.

¿Cómo puedo ejecutar la inferencia usando un modelo YOLO26 exportado a OpenVINO?

Después de exportar un modelo YOLO26n al formato OpenVINO, puedes ejecutar la inferencia usando Python o CLI:

Ejemplo
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")

Consulta nuestradocumentación del modo de predicción para más detalles.

¿Por qué debería elegir Ultralytics YOLO26 frente a otros modelos para la exportación a OpenVINO?

Ultralytics YOLO26 está optimizado para la detección de objetos en tiempo real con alta precisión y velocidad. Específicamente, cuando se combina con OpenVINO, YOLO26 proporciona:

  • Hasta 3 veces más velocidad en CPU Intel
  • Despliegue fluido en GPU y NPU Intel
  • Precisión constante y comparable en varios formatos de exportación

Para un análisis de rendimiento en profundidad, consulta nuestrosbenchmarks de YOLO11detallados en diferentes tipos de hardware.

¿Puedo realizar benchmarks de modelos YOLO26 en diferentes formatos como PyTorch, ONNX y OpenVINO?

Sí, puedes realizar benchmarks de modelos YOLO26 en varios formatos, incluidos PyTorch, TorchScript, ONNX y OpenVINO. Utiliza el siguiente fragmento de código para ejecutar los benchmarks en el conjunto de datos que elijas:

Ejemplo
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")

Para obtener resultados detallados de los benchmarks, consulta nuestrossección de benchmarks y formatos de exportación.

Comentarios