Ir al contenido

Intel OpenVINO Exportar

OpenVINO Ecosistema

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

OpenVINOOpen Visual Inference & Neural Network Optimization toolkit, es un completo conjunto de herramientas para optimizar y desplegar modelos de inferencia de inteligencia artificial. Aunque el nombre contiene Visual, OpenVINO también admite varias tareas adicionales, como lenguaje, audio, series temporales, etc.



Observa: Cómo exportar y optimizar un modelo Ultralytics YOLOv8 para la inferencia con OpenVINO.

Ejemplos de uso

Exportar un modelo YOLO11n a OpenVINO formatear y ejecutar la inferencia con el modelo exportado.

Ejemplo

from ultralytics import YOLO

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

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

# Load the exported OpenVINO model
ov_model = YOLO("yolo11n_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")
# Export a YOLO11n PyTorch model to OpenVINO format
yolo export model=yolo11n.pt format=openvino # creates 'yolo11n_openvino_model/'

# Run inference with the exported model
yolo predict model=yolo11n_openvino_model source='https://ultralytics.com/images/bus.jpg'

# Run inference with specified device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
yolo predict model=yolo11n_openvino_model source='https://ultralytics.com/images/bus.jpg' device="intel:gpu"

Argumentos de exportación

Argumento Tipo Por defecto Descripción
format str 'openvino' Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de despliegue.
imgsz int o tuple 640 Tamañ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.
half bool False Permite la cuantización FP16 (media precisión), reduciendo el tamaño del modelo y acelerando potencialmente la inferencia en hardware compatible.
int8 bool False Activa la cuantización INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida mínima de precisión, principalmente para dispositivos de borde.
dynamic bool False Permite tamaños de entrada dinámicos, lo que aumenta la flexibilidad a la hora de manejar dimensiones de imagen variables.
nms bool False Añade supresión no máxima (NMS), esencial para un postprocesado de detección preciso y eficaz.
batch int 1 Especifica el tamaño de la 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 predict modo.
data str 'coco8.yaml' Camino a la conjunto de datos archivo de configuración (por defecto: coco8.yaml), esencial para la cuantización.
fraction float 1.0 Especifica la fracción del conjunto de datos que se utilizará para la calibración de la cuantización INT8. Permite calibrar en un subconjunto del conjunto de datos completo, útil para experimentos o cuando los recursos son limitados. Si no se especifica con INT8 activado, se utilizará el conjunto de datos completo.

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

Advertencia

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

  1. Verificar la compatibilidad con OpenVINO™ Verifique si su chip Intel® es oficialmente compatible con OpenVINO™ utilizando la lista de compatibilidad de Intel .

  2. Identifique su acelerador Determine si su procesador incluye una NPU (Unidad de procesamiento neuronal) integrada o GPU (integrado GPU ) consultando la guía de hardware de Intel .

  3. Instale los controladores más recientes si su chip admite una NPU o GPU Si OpenVINO™ no lo detecta, es posible que deba instalar o actualizar los controladores asociados. Siga las instrucciones de instalación del controlador para activar la aceleración completa.

Siguiendo estos tres pasos, puede garantizar que OpenVINO™ funcione de manera óptima en su hardware Intel®.

Beneficios de OpenVINO

  1. Rendimiento: OpenVINO ofrece una inferencia de alto rendimiento utilizando la potencia de las CPU de Intel , las GPU integradas y discretas y las FPGA.
  2. Soporte para ejecución heterogénea: OpenVINO proporciona una API para escribir una vez y desplegar en cualquier hardware compatible con Intel (CPU, GPU, FPGA, VPU, etc.).
  3. Optimizador de modelos: OpenVINO proporciona un optimizador de modelos que importa, convierte y optimiza modelos de marcos de aprendizaje profundo populares como PyTorch, TensorFlowTensorFlow Lite, Keras, ONNX, PaddlePaddle y Caffe.
  4. Facilidad de uso: el kit de herramientas viene con más de 80 cuadernos tutoriales (incluida la optimización deYOLOv8 ) que enseñan diferentes aspectos del kit de herramientas.

OpenVINO Estructura de exportación

Al exportar un modelo al formato OpenVINO , se obtiene un directorio que contiene lo siguiente:

  1. Fichero XML: Describe la topología de la red.
  2. Archivo BIN: Contiene los datos binarios de weights and biases .
  3. Archivo de asignación: Contiene la correspondencia de los tensores de salida del modelo original con los nombres de OpenVINO tensor .

Puede utilizar estos archivos para ejecutar la inferencia con el motor de inferencia OpenVINO .

Utilización de OpenVINO Export in Deployment

Una vez que su modelo se haya exportado correctamente a OpenVINO formato, tiene dos opciones principales para ejecutar la inferencia:

  1. Utiliza el ultralytics paquete, que proporciona una API de alto nivel y envuelve el OpenVINO Tiempo de ejecución.

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

Inferencia con Ultralytics

El ultralytics El paquete le permite ejecutar fácilmente la inferencia utilizando los datos exportados. OpenVINO modelo mediante el método de predicción. También puede especificar el dispositivo de destino (p. ej., intel:gpu, intel:npu, intel:cpu) utilizando el argumento del dispositivo.

from ultralytics import YOLO

# Load the exported OpenVINO model
ov_model = YOLO("yolo11n_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 implementaciones cuando no se necesita un control total sobre el proceso de inferencia.

Inferencia con OpenVINO Tiempo de ejecución

El openvino El tiempo de ejecución proporciona una API unificada para realizar inferencias en todos los entornos compatibles. Intel hardware. También proporciona capacidades avanzadas como equilibrio de carga en Intel Hardware y ejecución asíncrona. Para más información sobre la ejecución de la inferencia, consulte los notebooks YOLO11 .

Recuerde que necesitará 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 su aplicación de despliegue, normalmente realizaría los siguientes pasos:

  1. Inicialice OpenVINO creando core = Core().
  2. Cargue el modelo mediante la función core.read_model() método.
  3. Compile el modelo utilizando la función core.compile_model() función.
  4. Prepare la entrada (imagen, texto, audio, etc.).
  5. Ejecutar la inferencia utilizando compiled_model(input_data).

Para obtener información más detallada y fragmentos de código, consulte la documentación deOpenVINO o el tutorial de la API.

OpenVINO YOLO11 Puntos de referencia

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

Nota

Los resultados de las pruebas comparativas que se muestran a continuación son de referencia y pueden variar en función de la configuración exacta de hardware y software de un sistema, así como de la carga de trabajo actual del sistema en el momento de ejecutar las pruebas comparativas.

Todas las pruebas se ejecutan con openvino Python versión del paquete 2025.1.0.

Intel Núcleo CPU

La serie Intel® Core® es una gama de procesadores de alto rendimiento de Intel. La gama incluye Core i3 (gama básica), Core i5 (gama media), Core i7 (gama alta) y Core i9 (rendimiento extremo). Cada serie se adapta a diferentes necesidades informáticas y presupuestos, desde las tareas cotidianas hasta las cargas de trabajo profesionales más exigentes. Con cada nueva generación se introducen mejoras en el rendimiento, la eficiencia energética y las prestaciones.

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

Puntos de referencia de Core CPU
Modelo Formato Estado Tamaño (MB) métrica/mAP50-95(B) Tiempo de inferencia (ms/im)
YOLO11n PyTorch 5.4 0.61 28.73
YOLO11n TorchScript 10.5 0.6082 36.27
YOLO11n ONNX 10.2 0.6082 19.62
YOLO11n OpenVINO 10.4 0.6082 12.72
YOLO11s PyTorch 18.4 0.7526 35.28
YOLO11s TorchScript 36.6 0.74 54.57
YOLO11s ONNX 36.3 0.74 37.91
YOLO11s OpenVINO 36.4 0.74 34.38
YOLO11m PyTorch 38.8 0.7598 82.46
YOLO11m TorchScript 77.3 0.7643 121.66
YOLO11m ONNX 76.9 0.7643 87.21
YOLO11m OpenVINO 77.1 0.7643 78.94
YOLO11l PyTorch 49.0 0.743 111.51
YOLO11l TorchScript 97.7 0.725 161.36
YOLO11l ONNX 97.0 0.725 109.23
YOLO11l OpenVINO 97.3 0.725 100.42
YOLO11x PyTorch 109.3 0.8288 241.93
YOLO11x TorchScript 218.1 0.8308 307.04
YOLO11x ONNX 217.5 0.8308 205.75
YOLO11x OpenVINO 217.8 0.8308 211.69

Intel® Core™ Ultra

La serie Intel® Core™ Ultra™ representa un nuevo referente en informática de alto rendimiento, diseñada para satisfacer las demandas cambiantes de los usuarios modernos, desde jugadores y creadores hasta profesionales que utilizan IA. Esta línea de próxima generación es más que una línea tradicional. CPU serie; combina potentes CPU núcleos, alto rendimiento integrado GPU capacidades y una unidad de procesamiento neuronal (NPU) dedicada dentro de un solo chip, ofreciendo una solución unificada para cargas de trabajo informáticas 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 las tareas de procesamiento tradicionales, GPU Cargas de trabajo aceleradas y operaciones impulsadas por IA. La inclusión de la NPU mejora la inferencia de IA en el dispositivo, lo que permite 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 diseñados para diferentes necesidades de rendimiento, con opciones que van desde diseños de bajo consumo hasta variantes de alta potencia marcadas con la designación "H", ideales para portátiles y formatos compactos que exigen una gran potencia informática. En toda la gama, los usuarios se benefician de la sinergia de CPU , GPU y la integración de NPU, lo que proporciona una eficiencia, capacidad de respuesta y capacidades multitarea notables.

Como parte de Intel Gracias a la innovación continua de la serie Core Ultra™, se 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... Intel El compromiso de ofrecer soluciones de vanguardia para la próxima generación de dispositivos inteligentes mejorados con IA.

Los puntos de referencia a continuación se ejecutan en Intel® Core™ Ultra™ 7 258V con precisión FP32 e INT8.

Intel® Core™ Ultra™ 7 258V

Puntos de referencia

Modelo Formato Precisión Estado Tamaño (MB) métrica/mAP50-95(B) Tiempo de inferencia (ms/im)
YOLO11n PyTorch FP32 5.4 0.6316 39.52
YOLO11n OpenVINO FP32 10.4 0.6112 19.59
YOLO11n OpenVINO INT8 3.3 0.6219 14.43
YOLO11s PyTorch FP32 18.4 0.7469 104.09
YOLO11s OpenVINO FP32 36.4 0.7414 16.274
YOLO11s OpenVINO INT8 9.8 0.7086 19.436
YOLO11m PyTorch FP32 38.8 0.7642 286.281
YOLO11m OpenVINO FP32 77.1 0.7642 18.69
YOLO11m OpenVINO INT8 20.2 0.7445 21.74
YOLO11l PyTorch FP32 49.0 0.7401 352.25
YOLO11l OpenVINO FP32 97.3 0.7264 31.90
YOLO11l OpenVINO INT8 25.7 0.7376 25.64
YOLO11x PyTorch FP32 109.3 0.8467 731.15
YOLO11x OpenVINO FP32 217.8 0.8308 45.12
YOLO11x OpenVINO INT8 55.9 0.8156 32.57

Intel Puntos de referencia de Core Ultra GPU

Modelo Formato Precisión Estado Tamaño (MB) métrica/mAP50-95(B) Tiempo de inferencia (ms/im)
YOLO11n PyTorch FP32 5.4 0.6316 39.52
YOLO11n OpenVINO FP32 10.4 0.6082 30.21
YOLO11n OpenVINO INT8 3.3 0.6256 17.98
YOLO11s PyTorch FP32 18.4 0.7469 104.09
YOLO11s OpenVINO FP32 36.4 0.7400 81.09
YOLO11s OpenVINO INT8 9.8 0.7488 41.04
YOLO11m PyTorch FP32 38.8 0.7642 286.28
YOLO11m OpenVINO FP32 77.1 0.7642 204.31
YOLO11m OpenVINO INT8 20.2 0.7504 109.51
YOLO11l PyTorch FP32 49.0 0.7401 352.25
YOLO11l OpenVINO FP32 97.3 0.7249 319.97
YOLO11l OpenVINO INT8 25.7 0.7318 136.44
YOLO11x PyTorch FP32 109.3 0.8467 731.15
YOLO11x OpenVINO FP32 217.8 0.8308 742.98
YOLO11x OpenVINO INT8 55.9 0.819 288.02

Intel Puntos de referencia de Core Ultra CPU

Modelo Formato Precisión Estado Tamaño (MB) métrica/mAP50-95(B) Tiempo de inferencia (ms/im)
YOLO11n PyTorch FP32 5.4 0.6316 39.52
YOLO11n OpenVINO FP32 10.4 0.6096 11.58
YOLO11n OpenVINO INT8 3.3 0.6380 12.60
YOLO11s PyTorch FP32 18.4 0.7469 104.09
YOLO11s OpenVINO FP32 36.4 0.7430 15.15
YOLO11s OpenVINO INT8 9.8 0.744 21.22
YOLO11m PyTorch FP32 38.8 0.7642 286.28
YOLO11m OpenVINO FP32 77.1 0.7642 32.92
YOLO11m OpenVINO INT8 20.2 0.7445 21.74
YOLO11l PyTorch FP32 49.0 0.7401 352.25
YOLO11l OpenVINO FP32 97.3 0.7264 43.15
YOLO11l OpenVINO INT8 25.7 0.7313 42.27
YOLO11x PyTorch FP32 109.3 0.8467 731.15
YOLO11x OpenVINO FP32 217.8 0.8308 74.33
YOLO11x OpenVINO INT8 55.9 0.8211 59.41

Intel Pruebas de rendimiento de la NPU Core Ultra

Reproduzca nuestros resultados

Para reproducir las pruebas anteriores de Ultralytics en todos los formatos de exportación, ejecute este código:

Ejemplo

from ultralytics import YOLO

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

# Benchmark YOLO11n speed and accuracy on the COCO8 dataset for all export formats
results = model.benchmark(data="coco8.yaml")
# Benchmark YOLO11n speed and accuracy on the COCO8 dataset for all export formats
yolo benchmark model=yolo11n.pt data=coco8.yaml

Ten en cuenta que los resultados de las pruebas comparativas pueden variar en función de la configuración exacta de hardware y software de un sistema, así como de la carga de trabajo actual del sistema en el momento de ejecutar las pruebas comparativas. Para obtener resultados más fiables, utilice un conjunto de datos con un gran número de imágenes, es decir data='coco128.yaml' (128 imágenes val), o data='coco.yaml' (5000 imágenes val).

Conclusión

Los resultados de la evaluación comparativa demuestran claramente los beneficios de exportar el YOLO11 modelo para el OpenVINO formato. En diferentes modelos y plataformas de hardware, el OpenVINO El formato supera consistentemente a otros formatos en términos de velocidad de inferencia y mantiene una precisión comparable.

Las pruebas comparativas 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 significativas en el rendimiento, lo que facilita el despliegue de estos modelos en aplicaciones del mundo real.

Para obtener información más detallada e instrucciones sobre el uso de OpenVINO, consulte la documentación oficial de OpenVINO .

PREGUNTAS FRECUENTES

¿Cómo exportar? YOLO11 modelos a OpenVINO ¿formato?

Exportador YOLO11 modelos para el OpenVINO El formato puede mejorar significativamente CPU acelerar y habilitar GPU y aceleraciones de NPU en Intel hardware. Para exportar, puede utilizar cualquiera de los dos Python o CLI como se muestra a continuación:

Ejemplo

from ultralytics import YOLO

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

# Export the model
model.export(format="openvino")  # creates 'yolo11n_openvino_model/'
# Export a YOLO11n PyTorch model to OpenVINO format
yolo export model=yolo11n.pt format=openvino # creates 'yolo11n_openvino_model/'

Para más información, consulte la documentación sobre formatos de exportación.

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

Usando Intel 's OpenVINO kit de herramientas con YOLO11 Los modelos ofrecen 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 de marcos de trabajo populares como PyTorch, TensorFlow y ONNX.
  3. Facilidad de uso : Hay más de 80 cuadernos tutoriales disponibles para ayudar a los usuarios a comenzar, incluidos algunos para YOLO11 .
  4. Ejecución heterogénea: Despliegue modelos en diversos equipos Intel con una API unificada.

Para obtener comparaciones de rendimiento detalladas, visite nuestra sección de puntos de referencia.

¿Cómo puedo ejecutar una inferencia usando un YOLO11 modelo exportado a OpenVINO ?

Después de exportar un modelo YOLO11n a OpenVINO formato, puede ejecutar inferencias usando Python o CLI :

Ejemplo

from ultralytics import YOLO

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

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model=yolo11n_openvino_model source='https://ultralytics.com/images/bus.jpg'

Consulte nuestra documentación sobre el modo predecir para obtener más detalles.

¿Por qué debería elegir? Ultralytics YOLO11 sobre otros modelos para OpenVINO ¿exportar?

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

  • Hasta 3 veces más velocidad en CPUs Intel
  • Implantación sin fisuras en las GPU y NPU de Intel
  • Precisión coherente y comparable en varios formatos de exportación

Para un análisis de rendimiento en profundidad, consulte nuestros puntos de referencia detallados YOLO11 en diferentes hardware.

¿Puedo hacer una evaluación comparativa? YOLO11 modelos en diferentes formatos como PyTorch , ONNX , y OpenVINO ?

Sí, puedes hacer benchmarking YOLO11 modelos en varios formatos incluyendo PyTorch , TorchScript , ONNX , y OpenVINO Utilice el siguiente fragmento de código para ejecutar pruebas de referencia en el conjunto de datos elegido:

Ejemplo

from ultralytics import YOLO

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

# Benchmark YOLO11n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats
results = model.benchmark(data="coco8.yaml")
# Benchmark YOLO11n speed and accuracy on the COCO8 dataset for all export formats
yolo benchmark model=yolo11n.pt data=coco8.yaml

Para conocer los resultados detallados de las pruebas comparativas, consulta nuestra sección de pruebas comparativas y la documentación sobre formatos de exportación.



Creado hace 1 año ✏️ Actualizado hace 1 día

Comentarios