Link to this sectionEsportazione Intel OpenVINO#
In questa guida, trattiamo l'esportazione di modelli YOLO26 nel formato OpenVINO, che può offrire un'accelerazione fino a 3x su CPU, oltre ad accelerare l'inferenza YOLO su hardware Intel GPU e NPU.
OpenVINO, abbreviazione di Open Visual Inference & Neural Network Optimization toolkit, è un toolkit completo per l'ottimizzazione e il deployment di modelli di inferenza AI. Anche se il nome contiene Visual, OpenVINO supporta anche varie attività aggiuntive, tra cui linguaggio, audio, serie temporali, ecc.
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
Link to this sectionEsempi di Utilizzo#
Il formato OpenVINO supporta le modalità Export, Predict e Validate. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o convalidarne l'accuratezza su CPU, GPU integrata/dedicata o 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")Link to this sectionArgomenti di esportazione#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'openvino' | Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione. |
imgsz | int o tuple | 640 | Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche. |
quantize | int o str | None | Precisione di quantizzazione: 16 (FP16) o 8 (INT8/PTQ; richiede data/fraction di calibrazione); 32/non impostato equivale a FP32. Sostituisce i flag deprecati half/int8. |
dynamic | bool | False | Consente dimensioni di input dinamiche, migliorando la flessibilità nella gestione di dimensioni variabili delle immagini. |
nms | bool | False | Aggiunge la Non-Maximum Suppression (NMS), essenziale per un post-processing del rilevamento accurato ed efficiente. |
batch | int | 1 | Specifica la dimensione dell'inferenza batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
data | str | 'coco8.yaml' | Percorso verso il file di configurazione del dataset (predefinito: coco8.yaml), essenziale per la quantizzazione. |
fraction | float | 1.0 | Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente la calibrazione su un sottoinsieme del dataset completo, utile per esperimenti o quando le risorse sono limitate. Se non specificato con INT8 abilitato, verrà utilizzato l'intero dataset. |
Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.
OpenVINO™ è compatibile con la maggior parte dei processori Intel®, ma per garantire prestazioni ottimali:
-
Verifica il supporto di OpenVINO™ Controlla se il tuo chip Intel® è ufficialmente supportato da OpenVINO™ utilizzando l'elenco di compatibilità Intel.
-
Identifica il tuo acceleratore Determina se il tuo processore include una NPU (Neural Processing Unit) o GPU (GPU integrata) integrata consultando la guida all'hardware di Intel.
-
Installa i driver più recenti Se il tuo chip supporta una NPU o una GPU ma OpenVINO™ non la rileva, potresti dover installare o aggiornare i driver associati. Segui le istruzioni di installazione dei driver per abilitare l'accelerazione completa.
Seguendo questi tre passaggi, puoi assicurarti che OpenVINO™ funzioni in modo ottimale sul tuo hardware Intel®.
Link to this sectionVantaggi di OpenVINO#
- Performance: OpenVINO offre un'inferenza ad alte prestazioni utilizzando la potenza di CPU, GPU integrate e discrete e FPGA Intel.
- Supporto per l'esecuzione eterogenea: OpenVINO fornisce un'API per scrivere il codice una volta sola ed eseguirlo su qualsiasi hardware Intel supportato (CPU, GPU, FPGA, VPU, ecc.).
- Model Optimizer: OpenVINO fornisce un Model Optimizer che importa, converte e ottimizza modelli da popolari framework di deep learning come PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle e Caffe.
- Facilità d'uso: Il toolkit include un'ampia raccolta di tutorial notebooks (inclusa l'ottimizzazione YOLO26) che insegnano diversi aspetti del toolkit.
Link to this sectionStruttura dell'esportazione OpenVINO#
Quando esporti un modello nel formato OpenVINO, viene generata una cartella contenente quanto segue:
- File XML: Descrive la topologia della rete.
- File BIN: Contiene i dati binari di pesi e bias.
- File di mappatura: Contiene la mappatura dei tensori di output del modello originale ai nomi dei tensori OpenVINO.
Puoi utilizzare questi file per eseguire l'inferenza con l'OpenVINO Inference Engine.
Link to this sectionUtilizzo dell'esportazione OpenVINO nel deployment#
Una volta che il tuo modello è stato esportato correttamente nel formato OpenVINO, hai due opzioni principali per eseguire l'inferenza:
-
Utilizzare il pacchetto
ultralytics, che fornisce un'API di alto livello e avvolge l'OpenVINO Runtime. -
Utilizzare il pacchetto nativo
openvinoper un controllo più avanzato o personalizzato sul comportamento dell'inferenza.
Link to this sectionInferenza con Ultralytics#
Il pacchetto ultralytics ti consente di eseguire facilmente l'inferenza utilizzando il modello OpenVINO esportato tramite il metodo predict. Puoi anche specificare il dispositivo di destinazione (es. intel:gpu, intel:npu, intel:cpu) utilizzando l'argomento 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 onQuesto approccio è ideale per una prototipazione rapida o per il deployment quando non hai bisogno di un controllo completo sulla pipeline di inferenza.
Link to this sectionInferenza con OpenVINO Runtime#
OpenVINO Runtime fornisce un'API unificata per l'inferenza su tutto l'hardware Intel supportato. Offre anche funzionalità avanzate come il bilanciamento del carico tra hardware Intel e l'esecuzione asincrona. Per ulteriori informazioni sull'esecuzione dell'inferenza, fai riferimento ai notebook YOLO26.
Ricorda che avrai bisogno dei file XML e BIN, oltre a qualsiasi impostazione specifica dell'applicazione come dimensione di input, fattore di scala per la normalizzazione, ecc., per configurare e utilizzare correttamente il modello con il Runtime.
Nella tua applicazione di deployment, dovresti solitamente seguire questi passaggi:
- Inizializza OpenVINO creando
core = Core(). - Carica il modello utilizzando il metodo
core.read_model(). - Compila il modello utilizzando la funzione
core.compile_model(). - Prepara l'input (immagine, testo, audio, ecc.).
- Esegui l'inferenza utilizzando
compiled_model(input_data).
Per passaggi più dettagliati e snippet di codice, fai riferimento alla documentazione di OpenVINO o al tutorial API.
Link to this sectionBenchmark YOLO26 con OpenVINO#
Il team di Ultralytics ha testato YOLO26 su vari formati di modello e precisione, valutando velocità e accuratezza su diversi dispositivi Intel compatibili con OpenVINO.
-
I risultati del benchmarking di seguito sono di riferimento e potrebbero variare in base all'esatta configurazione hardware e software di un sistema, nonché al carico di lavoro corrente del sistema al momento dell'esecuzione dei benchmark.
-
Tutti i benchmark sono stati eseguiti con il pacchetto Python
openvinoversione 2026.2.0. -
I modelli YOLO26 su NPU sono supportati solo su sistemi Intel® Core™ Ultra™ con serie 2xxV e serie 3xx e superiori.
Link to this sectionIntel® Core™ Ultra#
La serie Intel® Core™ Ultra™ rappresenta un nuovo benchmark nel calcolo ad alte prestazioni, progettato per soddisfare le mutevoli esigenze degli utenti moderni, dai gamer e creatori ai professionisti che sfruttano l'IA. Questa lineup di nuova generazione è più di una tradizionale serie di CPU; combina potenti core CPU, capacità GPU integrate ad alte prestazioni e una NPU (Neural Processing Unit) dedicata all'interno di un singolo chip, offrendo una soluzione unificata per carichi di lavoro di calcolo diversificati e intensivi.
Al centro dell'architettura Intel® Core Ultra™ c'è un design ibrido che consente prestazioni eccezionali in attività di elaborazione tradizionali, carichi di lavoro accelerati da GPU e operazioni basate sull'IA. L'inclusione della NPU migliora l'inferenza AI on-device, consentendo un machine learning e un'elaborazione dei dati più rapidi ed efficienti in una vasta gamma di applicazioni.
La famiglia Core Ultra™ include vari modelli su misura per diverse esigenze di prestazioni, con opzioni che spaziano da design a efficienza energetica a varianti ad alta potenza contrassegnate dalla sigla "H", ideali per laptop e form factor compatti che richiedono una notevole potenza di calcolo. In tutta la lineup, gli utenti beneficiano della sinergia dell'integrazione di CPU, GPU e NPU, offrendo efficienza, reattività e capacità di multitasking notevoli.
Come parte dell'innovazione continua di Intel, la serie Core Ultra™ stabilisce un nuovo standard per il computing pronto per il futuro. Con molteplici modelli disponibili e altri all'orizzonte, questa serie sottolinea l'impegno di Intel nel fornire soluzioni all'avanguardia per la prossima generazione di dispositivi intelligenti e potenziati dall'IA.
I benchmark di seguito sono stati eseguiti su Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V e Intel® Core™ Ultra™ 7 155H con precisione FP32, FP16 e INT8.
Link to this sectionIntel® Core™ Ultra™ X7 358H#
Risultati dettagliati del benchmark
| Modello | Formato | Precision | Stato | Dimensione (MB) | metrics/mAP50-95(B) | Tempo di inferenza (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 25.18 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4763 | 2.67 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4763 | 2.64 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4625 | 2.73 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 50.09 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5615 | 3.57 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5615 | 3.55 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.547 | 3.09 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 135.1 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.3 | 0.6168 | 5.64 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 5.85 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.5 | 0.5994 | 4.14 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 169.75 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6206 | 8.14 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6206 | 8.18 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 4.67 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 407.56 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6569 | 13.11 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6569 | 13.15 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6374 | 9.24 |
Link to this sectionIntel® Core™ Ultra™ 7 258V#
Risultati dettagliati del benchmark
| Modello | Formato | Precision | Stato | Dimensione (MB) | metrics/mAP50-95(B) | Tempo di inferenza (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 31.43 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4762 | 3.57 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 3.53 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4625 | 3.65 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.4 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.02 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 5.01 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.547 | 4.31 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 173.31 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.3 | 0.6191 | 9.48 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 9.6 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.5 | 0.5994 | 6.03 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6173 | 224.52 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.3725 | 11.88 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6201 | 12.0 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 8.47 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 595.72 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6567 | 20.26 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6454 | 20.25 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6374 | 14.77 |
Link to this sectionIntel® Core™ Ultra™ 7 155H#
Risultati dettagliati del benchmark
| Modello | Formato | Precision | Stato | Dimensione (MB) | metrics/mAP50-95(B) | Tempo di inferenza (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 38.77 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4774 | 9.87 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4774 | 9.84 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4705 | 5.86 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 69.54 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 17.29 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 17.06 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5452 | 10.33 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.22 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.3 | 0.6187 | 34.64 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6187 | 34.75 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.5 | 0.6073 | 15.99 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 245.62 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6202 | 43.7 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6202 | 44.65 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.6048 | 20.31 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 513.06 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6544 | 80.19 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6544 | 79.83 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6393 | 35.16 |
Link to this sectionRiproduci i nostri risultati#
Per riprodurre i benchmark di Ultralytics sopra riportati su tutti i formati di esportazione, esegui questo codice:
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")Nota che i risultati del benchmarking potrebbero variare in base alla configurazione hardware e software esatta di un sistema, nonché al carico di lavoro corrente del sistema al momento dell'esecuzione dei benchmark. Per risultati più affidabili, utilizza un dataset con un gran numero di immagini, ad esempio data='coco.yaml' (5000 immagini di validazione).
Link to this sectionConclusione#
I risultati del benchmarking dimostrano chiaramente i vantaggi dell'esportazione del modello YOLO26 nel formato OpenVINO. Tra diversi modelli e piattaforme hardware, il formato OpenVINO supera costantemente gli altri formati in termini di velocità di inferenza, mantenendo un'accuratezza comparabile.
I benchmark sottolineano l'efficacia di OpenVINO come strumento per implementare modelli di deep learning. Convertendo i modelli nel formato OpenVINO, gli sviluppatori possono ottenere significativi miglioramenti delle prestazioni, rendendo più facile implementare questi modelli in applicazioni reali.
Per informazioni più dettagliate e istruzioni sull'uso di OpenVINO, consulta la documentazione ufficiale di OpenVINO.
Link to this sectionFAQ#
Link to this sectionCome posso esportare i modelli YOLO26 nel formato OpenVINO?#
L'esportazione dei modelli YOLO26 nel formato OpenVINO può migliorare significativamente la velocità della CPU e abilitare le accelerazioni GPU e NPU sull'hardware Intel. Per esportare, puoi utilizzare Python o la CLI come mostrato di seguito:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model
model.export(format="openvino") # creates 'yolo26n_openvino_model/'Per maggiori informazioni, consulta la documentazione sui formati di esportazione.
Link to this sectionQuali sono i vantaggi dell'utilizzo di OpenVINO con i modelli YOLO26?#
L'utilizzo del toolkit OpenVINO di Intel con i modelli YOLO26 offre diversi vantaggi:
- Prestazioni: Ottieni fino a 3x di velocità nell'inferenza su CPU e sfrutta le GPU e le NPU Intel per l'accelerazione.
- Ottimizzatore di modelli: Converti, ottimizza ed esegui modelli da framework popolari come PyTorch, TensorFlow e ONNX.
- Facilità d'uso: È disponibile un'ampia raccolta di notebook tutorial per aiutare gli utenti a iniziare, inclusi quelli per YOLO26.
- Esecuzione eterogenea: Implementa modelli su vari hardware Intel con una API unificata.
Per confronti dettagliati sulle prestazioni, visita la nostra sezione benchmark.
Link to this sectionCome posso eseguire l'inferenza utilizzando un modello YOLO26 esportato in OpenVINO?#
Dopo aver esportato un modello YOLO26n nel formato OpenVINO, puoi eseguire l'inferenza utilizzando Python o la 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")Consulta la nostra documentazione sulla modalità di predizione per maggiori dettagli.
Link to this sectionPerché dovrei scegliere YOLO26 di Ultralytics rispetto ad altri modelli per l'esportazione in OpenVINO?#
YOLO26 di Ultralytics è ottimizzato per il rilevamento di oggetti in tempo reale con alta precisione e velocità. Nello specifico, quando combinato con OpenVINO, YOLO26 fornisce:
- Fino a 3x di velocità sulle CPU Intel
- Distribuzione fluida su GPU e NPU Intel
- Accuratezza coerente e comparabile tra vari formati di esportazione
Per un'analisi approfondita delle prestazioni, controlla i nostri benchmark YOLO26 dettagliati su diversi hardware.
Link to this sectionPosso testare i modelli YOLO26 su diversi formati come PyTorch, ONNX e OpenVINO?#
Sì, puoi testare i modelli YOLO26 in vari formati, inclusi PyTorch, TorchScript, ONNX e OpenVINO. Usa il seguente frammento di codice per eseguire i benchmark sul tuo dataset scelto:
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")Per risultati dettagliati dei benchmark, consulta la nostra sezione benchmark e la documentazione sui formati di esportazione.