Ottimizza il tuo modello Ultralytics YOLOv8 per l'inferenza utilizzando OpenVINO. Segui la nostra guida per convertire i modelli PyTorch in ONNX e ottimizzarli per le applicazioni in tempo reale.
In questo blogpost vedremo come esportare e ottimizzare il tuo modello pre-addestrato o addestrato in modo personalizzato Ultralytics YOLOv8 per l' inferenza utilizzando OpenVINO. Se utilizzi un sistema basato su Intel, che sia CPU o GPU, questa guida ti mostrerà come velocizzare in modo significativo il tuo modello con il minimo sforzo.
Ottimizzare il tuo modello YOLOv8 con OpenVINO può fornire un aumento di velocità fino a 3 volte nelle attività di inferenza, in particolare se si utilizza un modello Intel CPU . Questo aumento di prestazioni può fare un'enorme differenza nelle applicazioni in tempo reale, dal rilevamento di oggetti alla segmentazione e ai sistemi di sicurezza.
Prima di tutto, vediamo come funziona il processo. Convertiremo un modello PyTorch in ONNX e poi lo ottimizzeremo utilizzando OpenVINO. Questo processo prevede alcuni semplici passaggi e può essere applicato a diversi modelli e formati, tra cui TensorFlow, PyTorch, Caffe e ONNX.
Se ci addentriamo nelladocumentazione di Ultralytics , scopriamo che l'esportazione di un modello di YOLOv8 implica l'utilizzo del metodo di esportazione del framework Ultralytics . Questo metodo ci permette di convertire il nostro modello da PyTorch a ONNXe infine di ottimizzarlo per OpenVINO. Il risultato è un modello che gira molto più velocemente, sfruttando il potente hardware di Intel.
Prima di eseguire lo script di esportazione, dovrai assicurarti che tutte le dipendenze necessarie siano installate. Queste includono la libreria Ultralytics , ONNX e OpenVINO. L'installazione di questi pacchetti è un processo semplice che può essere eseguito tramite pip, il programma di installazione del pacchetto Python .
Una volta configurato l'ambiente, puoi eseguire lo script di esportazione. Questo script convertirà il tuo modello PyTorch in ONNX e poi in OpenVINO. Il processo è semplice e prevede la chiamata di un'unica funzione per gestire l'esportazione. Il framework Ultralytics semplifica la conversione e l'ottimizzazione dei tuoi modelli, garantendoti le migliori prestazioni con il minimo sforzo.
Dopo l'esportazione, è fondamentale confrontare le prestazioni del modello originale e di quello ottimizzato. Eseguendo un benchmarking del tempo di inferenza di entrambi i modelli, potrai vedere chiaramente i guadagni in termini di prestazioni. In genere, il modello OpenVINO mostra una riduzione significativa del tempo di inferenza rispetto al modello originale PyTorch . Questo vale soprattutto per i modelli più grandi, dove l'aumento delle prestazioni è più evidente.
L'ottimizzazione dei modelli di YOLOv8 con OpenVINO è particolarmente vantaggiosa per le applicazioni che richiedono un'elaborazione in tempo reale. Ecco alcuni esempi:
Implementando queste ottimizzazioni, non solo migliorerai le prestazioni ma anche l'affidabilità e l'efficienza delle tue applicazioni. Questo può portare a una migliore esperienza utente, a un aumento della produttività e a soluzioni più innovative.
Esportare e ottimizzare un modello di YOLOv8 per OpenVINO è un modo potente per sfruttare l'hardware di Intel per applicazioni AI più veloci ed efficienti. Con pochi semplici passaggi, puoi trasformare le prestazioni del tuo modello e applicarlo efficacemente a scenari reali.
Assicurati di dare un'occhiata ad altri tutorial e guide di Ultralytics per continuare a migliorare i tuoi progetti di intelligenza artificiale. Visita il nostro repository GitHub e unisciti alla comunità di Ultralytics per ulteriori approfondimenti e aggiornamenti. Innoviamo insieme!
Ricorda che l'ottimizzazione dei modelli non è solo una questione di velocità: si tratta di sbloccare nuove possibilità e di garantire che le tue soluzioni di IA siano robuste, efficienti e pronte per il futuro.
Inizia il tuo viaggio nel futuro dell'apprendimento automatico