Ultralytics YOLO27:
Get Started

Ottimizzazione delle inferenze YOLO26 con il motore DeepSparse di Neural Magic#

Quando distribuisci modelli di rilevamento degli oggetti come Ultralytics YOLO26 su hardware diverso, puoi imbatterti in sfide specifiche, come l'ottimizzazione. È qui che entra in gioco l'integrazione di YOLO26 con il motore DeepSparse di Neural Magic. Questa integrazione trasforma il modo in cui vengono eseguiti i modelli YOLO26 e consente di ottenere direttamente sulle CPU prestazioni simili a quelle delle GPU.

Questa guida mostra come distribuire YOLO26 usando DeepSparse di Neural Magic, eseguire inferenze e misurare le prestazioni per assicurarti che il modello sia ottimizzato.

Fine del ciclo di vita di SparseML

Neural Magic è stata acquisita da Red Hat nel gennaio 2025 e sta deprecando le versioni community delle librerie deepsparse, sparseml, sparsezoo e sparsify. Per ulteriori informazioni, consulta l'avviso pubblicato nel Readme del repository GitHub sparsify.

DeepSparse di Neural Magic#

Neural Magic's DeepSparse Overview

DeepSparse di Neural Magic è un runtime di inferenza progettato per ottimizzare l'esecuzione delle reti neurali sulle CPU. Applica tecniche avanzate come la sparsità, il pruning e la quantizzazione per ridurre drasticamente il fabbisogno computazionale mantenendo la precisione. DeepSparse offre una soluzione agile per eseguire reti neurali in modo efficiente e scalabile su diversi dispositivi.

Vantaggi dell'integrazione di DeepSparse di Neural Magic con YOLO26#

Prima di approfondire come distribuire YOLO26 con DeepSparse, vediamo i vantaggi di DeepSparse. Ecco alcuni dei principali:

  • Maggiore velocità di inferenza: raggiunge fino a 525 FPS (con YOLOv8n), accelerando notevolmente le capacità di inferenza di YOLO rispetto ai metodi tradizionali.

Neural Magic DeepSparse inference acceleration

  • Efficienza del modello ottimizzata: usa pruning e quantizzazione per migliorare l'efficienza di YOLO26, riducendo le dimensioni del modello e i requisiti computazionali e mantenendo la precisione.

Neural Magic model optimization and pruning

  • Prestazioni elevate sulle CPU standard: offre prestazioni simili a quelle delle GPU sulle CPU, fornendo un'opzione più accessibile e conveniente per diverse applicazioni.

  • Integrazione e distribuzione semplificate: offre strumenti intuitivi per integrare facilmente YOLO26 nelle applicazioni, comprese funzionalità di annotazione di immagini e video.

  • Supporto per diversi tipi di modelli: è compatibile sia con i modelli YOLO standard sia con quelli ottimizzati per la sparsità, offrendo maggiore flessibilità di distribuzione.

  • Soluzione conveniente e scalabile: riduce le spese operative e offre una distribuzione scalabile di modelli avanzati per il rilevamento degli oggetti.

Come funziona la tecnologia DeepSparse di Neural Magic?#

La tecnologia DeepSparse di Neural Magic si ispira all'efficienza del cervello umano nel calcolo delle reti neurali. Ne adotta due principi fondamentali:

  • Sparsità: il processo di sparsificazione consiste nell'eliminare informazioni ridondanti dalle reti di deep learning, ottenendo modelli più piccoli e veloci senza comprometterne la precisione. Questa tecnica riduce notevolmente le dimensioni della rete e il fabbisogno computazionale.

  • Località del riferimento: DeepSparse usa un metodo di esecuzione specifico, suddividendo la rete in colonne tensoriali. Queste colonne vengono eseguite in profondità e rientrano interamente nella cache della CPU. Questo approccio imita l'efficienza del cervello, riducendo al minimo lo spostamento dei dati e sfruttando al massimo la cache della CPU.

How Neural Magic's DeepSparse Technology Works

Creazione di una versione sparsa di YOLO26 addestrata su un dataset personalizzato#

SparseZoo, un repository di modelli open source di Neural Magic, offre una raccolta di checkpoint YOLOv8 già resi sparsi. Con SparseML, integrato perfettamente con Ultralytics, puoi ottimizzare facilmente questi checkpoint sparsi sui tuoi dataset specifici usando una semplice interfaccia a riga di comando.

Per ulteriori dettagli, consulta la documentazione YOLOv8 di SparseML di Neural Magic.

Uso: distribuzione di YOLO26 con DeepSparse#

La distribuzione di YOLO26 con DeepSparse di Neural Magic prevede pochi passaggi semplici. Prima di esaminare le istruzioni, assicurati di consultare la gamma di modelli YOLO26 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più adatto ai requisiti del tuo progetto. Ecco come iniziare.

Passaggio 1: installazione#

Per installare i pacchetti necessari, esegui:

Installazione
# Install the required packages
pip install deepsparse[yolov8]

Passaggio 2: esportazione di YOLO26 nel formato ONNX#

Il motore DeepSparse richiede modelli YOLO26 nel formato ONNX. Esportare il modello in questo formato è essenziale per garantire la compatibilità con DeepSparse. Usa il comando seguente per esportare i modelli YOLO26:

Esportazione del modello
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13

Questo comando salverà il modello yolo26n.onnx sul tuo disco.

Passaggio 3: distribuzione ed esecuzione delle inferenze#

Con il tuo modello YOLO26 in formato ONNX, puoi distribuirlo ed eseguire inferenze usando DeepSparse. Puoi farlo facilmente con la sua intuitiva API Python:

Distribuzione ed esecuzione delle inferenze
from deepsparse import Pipeline

# Specifica il percorso del tuo modello YOLO26 ONNX
model_path = "path/to/yolo26n.onnx"

# Configura la pipeline DeepSparse
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)

# Esegui il modello sulle tue immagini
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)

Passaggio 4: benchmarking delle prestazioni#

È importante verificare che il tuo modello YOLO26 funzioni in modo ottimale su DeepSparse. Puoi misurare le prestazioni del tuo modello per analizzarne il throughput e la latenza:

Benchmark
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

Passaggio 5: funzionalità aggiuntive#

DeepSparse offre funzionalità aggiuntive per integrare YOLO26 nelle applicazioni in modo pratico, come l'annotazione delle immagini e la valutazione dei dataset.

Funzionalità aggiuntive
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"

Eseguendo il comando annotate, elabori l'immagine specificata, rilevi gli oggetti e salvi l'immagine annotata con i riquadri di delimitazione e le classificazioni. L'immagine annotata verrà salvata in una cartella annotation-results. In questo modo ottieni una rappresentazione visiva delle capacità di rilevamento del modello.

Neural Magic annotation feature interface

Dopo aver eseguito il comando eval, riceverai metriche dettagliate, come precisione, richiamo e mAP (precisione media). Queste metriche offrono una panoramica completa delle prestazioni del tuo modello sul dataset e sono particolarmente utili per perfezionare e ottimizzare i tuoi modelli YOLO26 per casi d'uso specifici, garantendo accuratezza ed efficienza elevate.

Riepilogo#

Questa guida ha illustrato l'integrazione di YOLO26 di Ultralytics con DeepSparse Engine di Neural Magic. Ha evidenziato come questa integrazione migliori le prestazioni di YOLO26 sulle piattaforme CPU, offrendo un'efficienza paragonabile a quella delle GPU e tecniche avanzate di sparsità delle reti neurali.

Per informazioni più dettagliate e un utilizzo avanzato, visita il repository DeepSparse di Neural Magic. Puoi anche consultare la guida all'integrazione di YOLOv8 e guardare una sessione introduttiva su YouTube.

Inoltre, per una panoramica più ampia delle varie integrazioni di YOLO26, visita la pagina della guida alle integrazioni di Ultralytics, dove puoi scoprire molte altre interessanti possibilità di integrazione.

Domande frequenti#

  • DeepSparse Engine di Neural Magic è un runtime di inferenza progettato per ottimizzare l'esecuzione delle reti neurali sulle CPU attraverso tecniche avanzate come la sparsità, il pruning e la quantizzazione. Integrando DeepSparse con YOLO26, puoi ottenere prestazioni simili a quelle di una GPU su CPU standard, migliorando notevolmente la velocità di inferenza, l'efficienza del modello e le prestazioni complessive, senza compromettere l'accuratezza. Per ulteriori dettagli, consulta la sezione DeepSparse di Neural Magic.

  • Installare i pacchetti necessari per distribuire YOLO26 con DeepSparse di Neural Magic è semplice. Puoi installarli facilmente usando la CLI. Ecco il comando da eseguire:

    pip install deepsparse[yolov8]

    Dopo l'installazione, segui i passaggi descritti nella sezione Installazione per configurare l'ambiente e iniziare a usare DeepSparse con YOLO26.

  • Per convertire i modelli YOLO26 nel formato ONNX, necessario per la compatibilità con DeepSparse, puoi usare il seguente comando CLI:

    yolo detect export model=yolo26n.pt format=onnx opset=13

    Questo comando esporterà il tuo modello YOLO26 (yolo26n.pt) in un formato (yolo26n.onnx) utilizzabile da DeepSparse Engine. Puoi trovare ulteriori informazioni sull'esportazione dei modelli nella sezione Esportazione dei modelli.

  • Eseguire il benchmarking delle prestazioni di YOLO26 su DeepSparse ti aiuta ad analizzare il throughput e la latenza per assicurarti che il modello sia ottimizzato. Puoi usare il seguente comando CLI per avviare un benchmark:

    deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

    Questo comando fornirà metriche essenziali sulle prestazioni. Per ulteriori dettagli, consulta la sezione Benchmarking delle prestazioni.

  • L'integrazione di DeepSparse di Neural Magic con YOLO26 offre diversi vantaggi:

    • Velocità di inferenza migliorata: raggiunge fino a 525 FPS (con YOLOv8n), dimostrando le capacità di ottimizzazione di DeepSparse.
    • Efficienza del modello ottimizzata: usa tecniche di sparsità, pruning e quantizzazione per ridurre le dimensioni del modello e il fabbisogno computazionale, mantenendo l'accuratezza.
    • Prestazioni elevate su CPU standard: offre prestazioni simili a quelle di una GPU su hardware CPU conveniente.
    • Integrazione semplificata: strumenti intuitivi per facilitare la distribuzione e l'integrazione.
    • Flessibilità: supporta sia i modelli YOLO standard sia quelli ottimizzati tramite sparsità.
    • Convenienza economica: riduce i costi operativi grazie all'uso efficiente delle risorse.

    Per approfondire questi vantaggi, visita la sezione sui vantaggi dell'integrazione di DeepSparse di Neural Magic con YOLO26.

Commenti