Skip to content

Intel OpenVINO Exportation

OpenVINO Écosystème

Dans ce guide, nous couvrons l'exportation YOLO11 modèles au format OpenVINO , qui peuvent fournir jusqu'à 3x d'accélération CPU , ainsi qu'une accélération YOLO inférence sur Intel Matériel GPU et NPU .

OpenVINO, abréviation de Open Visual Inference & Neural Network Optimization toolkit, est une boîte à outils complète pour l'optimisation et le déploiement de modèles d'inférence d'IA. Bien que le nom contienne Visual, OpenVINO prend également en charge diverses tâches supplémentaires, notamment le langage, l'audio, les séries temporelles, etc.



Regarder : Comment exporter et optimiser un modèle Ultralytics YOLOv8 pour l'inférence avec OpenVINO.

Exemples d'utilisation

Exporter un modèle YOLO11n vers OpenVINO formater et exécuter l'inférence avec le modèle exporté.

Exemple

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"

Arguments d'exportation

Argument Type Défaut Description
format str 'openvino' Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement.
imgsz int ou tuple 640 Taille de l'image souhaitée pour l'entrée du modèle. Il peut s'agir d'un entier pour les images carrées ou d'un tuple (height, width) pour les dimensions spécifiques.
half bool False Permet la quantification FP16 (demi-précision), réduisant la taille du modèle et accélérant potentiellement l'inférence sur le matériel pris en charge.
int8 bool False Active la quantification INT8, ce qui permet de comprimer davantage le modèle et d'accélérer l'inférence avec une perte de précision minimale, principalement pour les appareils périphériques.
dynamic bool False Permet des tailles d'entrée dynamiques, améliorant ainsi la flexibilité dans la gestion de dimensions d'image variables.
nms bool False Ajoute la suppression des valeurs non maximales (NMS), essentielle pour un post-traitement précis et efficace de la détection.
batch int 1 Spécifie la taille du lot d'inférence du modèle exporté ou le nombre maximum d'images que le modèle exporté traitera simultanément en predict mode.
data str 'coco8.yaml' Chemin d'accès à la ensemble de données fichier de configuration (par défaut : coco8.yaml), essentielle pour la quantification.
fraction float 1.0 Spécifie la fraction de l'ensemble de données à utiliser pour l'étalonnage de la quantification INT8. Permet de calibrer sur un sous-ensemble du jeu de données complet, utile pour les expériences ou lorsque les ressources sont limitées. Si elle n'est pas spécifiée lorsque la fonction INT8 est activée, le jeu de données complet sera utilisé.

Pour plus de détails sur le processus d'exportation, consultez la page de documentationUltralytics sur l'exportation.

Avertissement

OpenVINO™ est compatible avec la plupart des processeurs Intel® mais pour garantir des performances optimales :

  1. Vérifiez la prise en charge d'OpenVINO™ Vérifiez si votre puce Intel® est officiellement prise en charge par OpenVINO™ à l'aide de la liste de compatibilité d' Intel .

  2. Identifiez votre accélérateur Déterminez si votre processeur comprend une NPU (Neural Processing Unit) intégrée ou GPU (intégré GPU ) en consultant le guide matériel d' Intel .

  3. Installez les derniers pilotes Si votre puce prend en charge un NPU ou GPU mais qu'OpenVINO™ ne le détecte pas, vous devrez peut-être installer ou mettre à jour les pilotes associés. Suivez les instructions d'installation des pilotes pour activer l'accélération complète.

En suivant ces trois étapes, vous pouvez garantir qu’OpenVINO™ fonctionne de manière optimale sur votre matériel Intel®.

Avantages de la OpenVINO

  1. Performance: OpenVINO offre une inférence de haute performance en utilisant la puissance des CPU Intel , des GPU intégrés et discrets et des FPGA.
  2. Prise en charge de l'exécution hétérogène: OpenVINO fournit une API permettant d'écrire une fois et de déployer sur tout matériel Intel pris en charge (CPU, GPU, FPGA, VPU, etc.).
  3. Optimiseur de modèle: OpenVINO fournit un optimiseur de modèle qui importe, convertit et optimise les modèles à partir de frameworks d'apprentissage profond populaires tels que PyTorch, TensorFlowTensorFlow Lite, Keras, ONNX, PaddlePaddle, et Caffe.
  4. Facilité d'utilisation: la boîte à outils est livrée avec plus de 80 cahiers de travaux dirigés (y compris YOLOv8 optimization) qui enseignent différents aspects de la boîte à outils.

OpenVINO Structure des exportations

Lorsque vous exportez un modèle au format OpenVINO , vous obtenez un répertoire contenant les éléments suivants :

  1. Fichier XML: Décrit la topologie du réseau.
  2. Fichier BIN: Contient les données binaires de weights and biases .
  3. Fichier de correspondance: Contient la correspondance entre les tenseurs de sortie du modèle original et les noms de OpenVINO tensor .

Vous pouvez utiliser ces fichiers pour lancer l'inférence avec le moteur d'inférence OpenVINO .

Utilisation de OpenVINO Export dans le déploiement

Une fois votre modèle exporté avec succès vers le OpenVINO format, vous disposez de deux options principales pour exécuter l'inférence :

  1. Utiliser le ultralytics package, qui fournit une API de haut niveau et encapsule le OpenVINO Durée d'exécution.

  2. Utiliser le natif openvino package pour un contrôle plus avancé ou personnalisé du comportement d'inférence.

Inférence avec Ultralytics

Le ultralytics Le package vous permet d'exécuter facilement des inférences à l'aide des données exportées OpenVINO modèle via la méthode Predict. Vous pouvez également spécifier l'appareil cible (par exemple, intel:gpu, intel:npu, intel:cpu) en utilisant l'argument device.

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

Cette approche est idéale pour le prototypage ou le déploiement rapide lorsque vous n’avez pas besoin d’un contrôle total sur le pipeline d’inférence.

Inférence avec OpenVINO Durée d'exécution

Le openvino Runtime fournit une API unifiée pour l'inférence sur tous les éléments pris en charge Intel matériel. Il offre également des fonctionnalités avancées comme l'équilibrage de charge sur Intel Exécution matérielle et asynchrone. Pour plus d'informations sur l'exécution de l'inférence, consultez les notebooks YOLO11 .

N'oubliez pas que vous aurez besoin des fichiers XML et BIN ainsi que de tous les paramètres spécifiques à l'application tels que la taille de l'entrée, le facteur d'échelle pour la normalisation, etc. pour configurer et utiliser correctement le modèle avec le Runtime.

Dans votre application de déploiement, vous effectuez généralement les étapes suivantes :

  1. Initialiser OpenVINO en créant core = Core().
  2. Charger le modèle à l'aide de la fonction core.read_model() méthode.
  3. Compiler le modèle à l'aide de la fonction core.compile_model() fonction.
  4. Préparer l'entrée (image, texte, audio, etc.).
  5. Effectuer une inférence à l'aide de compiled_model(input_data).

Pour des étapes plus détaillées et des extraits de code, reportez-vous à la documentationOpenVINO ou au didacticiel API.

OpenVINO YOLO11 Repères

Le Ultralytics équipe évaluée YOLO11 sur différents formats de modèles et précision , évaluant la vitesse et la précision sur différents Intel appareils compatibles avec OpenVINO .

Note

Les résultats de l'analyse comparative ci-dessous sont donnés à titre de référence et peuvent varier en fonction de la configuration matérielle et logicielle exacte d'un système, ainsi que de la charge de travail actuelle du système au moment de l'exécution de l'analyse comparative.

Tous les points de repère sont exécutés avec openvino Python version du paquet 2025.1.0.

Intel Cœur de métier CPU

La série Intel® Core® est une gamme de processeurs haute performance de Intel. La gamme comprend le Core i3 (entrée de gamme), le Core i5 (milieu de gamme), le Core i7 (haut de gamme) et le Core i9 (performances extrêmes). Chaque série répond à des besoins informatiques et à des budgets différents, qu'il s'agisse de tâches quotidiennes ou de charges de travail professionnelles exigeantes. Chaque nouvelle génération apporte des améliorations en termes de performances, d'efficacité énergétique et de fonctionnalités.

Les tests ci-dessous fonctionnent sur un processeur Intel® Core® i9-12900KS de 12e génération CPU avec une précision FP32.

Core CPU points de repère
Modèle Format Statut Taille (MB) métriques/mAP50-95(B) Temps d'inférence (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 série Intel® Core™ Ultra™ représente une nouvelle référence en matière de calcul haute performance, conçue pour répondre aux exigences évolutives des utilisateurs modernes, des joueurs et créateurs aux professionnels exploitant l'IA. Cette gamme nouvelle génération est bien plus qu'une simple gamme traditionnelle. CPU série; elle combine de puissants CPU cœurs, hautes performances intégrées GPU capacités et une unité de traitement neuronal (NPU) dédiée au sein d'une seule puce, offrant une solution unifiée pour des charges de travail informatiques diverses et intensives.

Au cœur de l'architecture Intel® Core Ultra™ se trouve une conception hybride qui permet des performances exceptionnelles dans les tâches de traitement traditionnelles, GPU - des charges de travail accélérées et des opérations pilotées par l'IA. L'intégration du NPU améliore l'inférence de l'IA sur l'appareil, permettant un apprentissage automatique et un traitement des données plus rapides et plus efficaces pour un large éventail d'applications.

La famille Core Ultra™ comprend différents modèles adaptés à différents besoins de performances, avec des options allant des modèles écoénergétiques aux variantes haute puissance marquées de la mention « H », idéales pour les ordinateurs portables et les formats compacts exigeant une puissance de calcul importante. Sur toute la gamme, les utilisateurs bénéficient de la synergie de CPU , GPU , et l'intégration NPU, offrant une efficacité, une réactivité et des capacités multitâches remarquables.

Dans le cadre de Intel Grâce à l'innovation continue de, la série Core Ultra™ établit une nouvelle norme pour l'informatique d'avenir. Avec plusieurs modèles disponibles et d'autres à venir, cette série souligne Intel L'engagement de 's à fournir des solutions de pointe pour la prochaine génération d'appareils intelligents améliorés par l'IA.

Les tests ci-dessous fonctionnent sur Intel® Core™ Ultra™ 7 258V avec une précision FP32 et INT8.

Intel® Core™ Ultra™ 7 258 V

Critères de référence

Modèle Format Précision Statut Taille (MB) métriques/mAP50-95(B) Temps d'inférence (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 Core Ultra GPU benchmarks

Modèle Format Précision Statut Taille (MB) métriques/mAP50-95(B) Temps d'inférence (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 Core Ultra CPU benchmarks

Modèle Format Précision Statut Taille (MB) métriques/mAP50-95(B) Temps d'inférence (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 Comparaisons avec le NPU Core Ultra

Reproduire nos résultats

Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d' exportation, exécutez ce code :

Exemple

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

Notez que les résultats de l'évaluation comparative peuvent varier en fonction de la configuration matérielle et logicielle exacte d'un système, ainsi que de la charge de travail actuelle du système au moment de l'exécution de l'évaluation comparative. Pour obtenir les résultats les plus fiables, utilisez un ensemble de données contenant un grand nombre d'images, c'est-à-dire un ensemble de données contenant un grand nombre d'images, c'est-à-dire un ensemble de données contenant un grand nombre d'images. data='coco128.yaml' (128 images val), ou data='coco.yaml' (5000 images de valeur).

Conclusion

Les résultats de l’analyse comparative démontrent clairement les avantages de l’exportation des YOLO11 modèle à la OpenVINO format. Sur différents modèles et plateformes matérielles, le OpenVINO Le format surpasse systématiquement les autres formats en termes de vitesse d'inférence tout en conservant une précision comparable.

Les benchmarks soulignent l'efficacité de OpenVINO en tant qu'outil de déploiement de modèles d'apprentissage profond. En convertissant les modèles au format OpenVINO , les développeurs peuvent obtenir des améliorations significatives des performances, ce qui facilite le déploiement de ces modèles dans des applications réelles.

Pour plus d'informations et d'instructions sur l'utilisation de OpenVINO, veuillez vous référer à la documentation officielle de OpenVINO .

FAQ

Comment exporter YOLO11 modèles à OpenVINO format?

Exportation YOLO11 modèles à la OpenVINO le format peut considérablement améliorer CPU vitesse et activation GPU et les accélérations NPU sur Intel matériel. Pour exporter, vous pouvez utiliser Python ou CLI comme indiqué ci-dessous :

Exemple

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/'

Pour plus d'informations, consultez la documentation sur les formats d'exportation.

Quels sont les avantages de l'utilisation OpenVINO avec YOLO11 des modèles ?

En utilisant Intel 's OpenVINO boîte à outils avec YOLO11 Les modèles offrent plusieurs avantages :

  1. Performance: Accélération jusqu'à trois fois plus rapide de l'inférence sur CPU et utilisation des GPU et NPU Intel pour l'accélération.
  2. Optimiseur de modèle: Convertissez, optimisez et exécutez des modèles à partir de cadres populaires tels que PyTorch, TensorFlow, et ONNX.
  3. Facilité d'utilisation : Plus de 80 cahiers de tutoriels sont disponibles pour aider les utilisateurs à démarrer, y compris ceux pour YOLO11 .
  4. Exécution hétérogène: Déployer des modèles sur différents matériels Intel avec une API unifiée.

Pour des comparaisons de performances détaillées, consultez notre section "benchmarks".

Comment puis-je exécuter une inférence à l'aide d'un YOLO11 modèle exporté vers OpenVINO ?

Après avoir exporté un modèle YOLO11n vers OpenVINO format, vous pouvez exécuter l'inférence en utilisant Python ou CLI :

Exemple

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'

Reportez-vous à notre documentation sur le mode prédictif pour plus de détails.

Pourquoi devrais-je choisir Ultralytics YOLO11 par rapport aux autres modèles pour OpenVINO exporter?

Ultralytics YOLO11 est optimisé pour la détection d'objets en temps réel avec une précision et une rapidité élevées. Plus précisément, lorsqu'il est combiné avec OpenVINO , YOLO11 fournit :

  • Jusqu'à 3 fois plus rapide sur les processeurs Intel
  • Déploiement transparent sur les GPU et NPU Intel
  • Précision cohérente et comparable dans les différents formats d'exportation

Pour une analyse approfondie des performances, consultez nos benchmarks YOLO11 détaillés sur différents matériels.

Puis-je effectuer une analyse comparative YOLO11 modèles sur différents formats tels que PyTorch , ONNX , et OpenVINO ?

Oui, vous pouvez effectuer un benchmark YOLO11 modèles dans divers formats, y compris PyTorch , TorchScript , ONNX , et OpenVINO Utilisez l'extrait de code suivant pour exécuter des tests de performance sur l'ensemble de données choisi :

Exemple

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

Pour obtenir des résultats détaillés, reportez-vous à la section "benchmarks" et à la documentation sur les formats d'exportation.



📅C réé il y a 1 an ✏️ Mis à jour il y a 1 jour

Commentaires