Link to this sectionOttimizzazione delle inferenze di YOLO26 con il motore DeepSparse di Neural Magic#
Quando distribuisci modelli di object detection come Ultralytics YOLO26 su vari hardware, potresti imbatterti in problemi specifici come l'ottimizzazione. È qui che entra in gioco l'integrazione di YOLO26 con il motore DeepSparse di Neural Magic. Trasforma il modo in cui i modelli YOLO26 vengono eseguiti e abilita prestazioni a livello di GPU direttamente su CPU.
Questa guida ti mostra come distribuire YOLO26 utilizzando DeepSparse di Neural Magic, come eseguire inferenze e anche come valutare le prestazioni per assicurarti che siano ottimizzate.
Neural Magic è stata acquisita da Red Hat nel gennaio 2025 e sta dismettendo le versioni community delle loro librerie deepsparse, sparseml, sparsezoo e sparsify. Per ulteriori informazioni, consulta l'avviso pubblicato nel file Readme sul repository GitHub sparsify.
Link to this sectionDeepSparse di Neural Magic#
DeepSparse di Neural Magic è un runtime di inferenza progettato per ottimizzare l'esecuzione di reti neurali su CPU. Applica tecniche avanzate come la sparsità, il pruning e la quantizzazione per ridurre drasticamente le richieste computazionali mantenendo al contempo l'accuratezza. DeepSparse offre una soluzione agile per un'esecuzione efficiente e scalabile di reti neurali su vari dispositivi.
Link to this sectionVantaggi dell'integrazione di DeepSparse di Neural Magic con YOLO26#
Prima di immergerci in come distribuire YOLO26 utilizzando DeepSparse, capiamo i vantaggi dell'utilizzo di DeepSparse. Alcuni vantaggi chiave includono:
- Velocità di inferenza migliorata: Raggiunge fino a 525 FPS (su YOLO11n), accelerando significativamente le capacità di inferenza di YOLO rispetto ai metodi tradizionali.
- Efficienza del modello ottimizzata: Utilizza il pruning e la quantizzazione per migliorare l'efficienza di YOLO26, riducendo la dimensione del modello e i requisiti computazionali mantenendo l'accuratezza.
-
Alte prestazioni su CPU standard: Offre prestazioni simili a quelle di una GPU su CPU, fornendo un'opzione più accessibile ed economica per varie applicazioni.
-
Integrazione e distribuzione semplificate: Offre strumenti facili da usare per una semplice integrazione di YOLO26 nelle applicazioni, incluse le funzionalità di annotazione di immagini e video.
-
Supporto per vari tipi di modello: Compatibile con modelli YOLO26 sia standard che ottimizzati per la sparsità, aggiungendo flessibilità di distribuzione.
-
Soluzione economica e scalabile: Riduce le spese operative e offre una distribuzione scalabile di modelli avanzati di object detection.
Link to this sectionCome 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. Adotta due principi chiave dal cervello come segue:
-
Sparsità: Il processo di sparsificazione prevede la potatura (pruning) di informazioni ridondanti dalle reti di deep learning, portando a modelli più piccoli e veloci senza compromettere l'accuratezza. Questa tecnica riduce significativamente le dimensioni della rete e le esigenze computazionali.
-
Località di riferimento: DeepSparse utilizza un metodo di esecuzione unico, dividendo la rete in colonne tensoriali (Tensor Columns). Queste colonne vengono eseguite in profondità, adattandosi interamente all'interno della cache della CPU. Questo approccio imita l'efficienza del cervello, riducendo al minimo lo spostamento dei dati e massimizzando l'utilizzo della cache della CPU.
Link to this sectionCreazione 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 di modelli YOLO26 pre-sparsificati. Con SparseML, perfettamente integrato con Ultralytics, puoi facilmente perfezionare (fine-tune) questi checkpoint sparsi sui tuoi dataset specifici utilizzando una semplice interfaccia a riga di comando.
Dai un'occhiata alla documentazione SparseML YOLO26 di Neural Magic per maggiori dettagli.
Link to this sectionUtilizzo: Distribuzione di YOLO26 utilizzando DeepSparse#
La distribuzione di YOLO26 con DeepSparse di Neural Magic prevede alcuni passaggi semplici. Prima di addentrarti nelle istruzioni per l'uso, assicurati di dare un'occhiata alla gamma di modelli YOLO26 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più appropriato per i requisiti del tuo progetto. Ecco come puoi iniziare.
Link to this sectionPassaggio 1: Installazione#
Per installare i pacchetti richiesti, esegui:
# Install the required packages
pip install deepsparse[yolov8]Link to this sectionPassaggio 2: Esportazione di YOLO26 in formato ONNX#
Il motore DeepSparse richiede modelli YOLO26 in formato ONNX. Esportare il tuo modello in questo formato è essenziale per la compatibilità con DeepSparse. Usa il seguente comando per esportare i modelli YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Questo comando salverà il modello yolo26n.onnx sul tuo disco.
Link to this sectionPassaggio 3: Distribuzione ed esecuzione delle inferenze#
Con il tuo modello YOLO26 in formato ONNX, puoi distribuire ed eseguire inferenze utilizzando DeepSparse. Questo può essere fatto facilmente con la loro intuitiva API Python:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Link to this sectionPassaggio 4: Benchmarking delle prestazioni#
È importante verificare che il tuo modello YOLO26 stia funzionando in modo ottimale su DeepSparse. Puoi eseguire il benchmark delle prestazioni del tuo modello per analizzare throughput e latenza:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Link to this sectionPassaggio 5: Funzionalità aggiuntive#
DeepSparse fornisce funzionalità aggiuntive per l'integrazione pratica di YOLO26 nelle applicazioni, come l'annotazione di immagini e la valutazione di dataset.
# 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"L'esecuzione del comando annotate elabora l'immagine specificata, rilevando oggetti e salvando l'immagine annotata con riquadri di delimitazione (bounding box) e classificazioni. L'immagine annotata verrà archiviata in una cartella annotation-results. Questo aiuta a fornire una rappresentazione visiva delle capacità di rilevamento del modello.
Dopo aver eseguito il comando eval, riceverai metriche di output dettagliate come precision, recall e mAP (mean Average Precision). Ciò fornisce una visione completa delle prestazioni del tuo modello sul dataset ed è particolarmente utile per il fine-tuning e l'ottimizzazione dei tuoi modelli YOLO26 per casi d'uso specifici, garantendo alta precisione ed efficienza.
Link to this sectionRiepilogo#
Questa guida ha esplorato l'integrazione di YOLO26 di Ultralytics con il motore DeepSparse di Neural Magic. Ha evidenziato come questa integrazione migliori le prestazioni di YOLO26 su piattaforme CPU, offrendo efficienza a livello di GPU e tecniche avanzate di sparsità delle reti neurali.
Per informazioni più dettagliate e utilizzi avanzati, visita la documentazione DeepSparse di Neural Magic. Puoi anche esplorare la guida all'integrazione di YOLO26 e guardare una sessione dimostrativa su YouTube.
Inoltre, per una comprensione più ampia delle varie integrazioni di YOLO26, visita la pagina della guida all'integrazione di Ultralytics, dove puoi scoprire una gamma di altre entusiasmanti possibilità di integrazione.
Link to this sectionFAQ#
Link to this sectionChe cos'è il motore DeepSparse di Neural Magic e come ottimizza le prestazioni di YOLO26?#
Il motore DeepSparse di Neural Magic è un runtime di inferenza progettato per ottimizzare l'esecuzione di reti neurali su CPU attraverso tecniche avanzate come sparsità, pruning e quantizzazione. Integrando DeepSparse con YOLO26, puoi ottenere prestazioni simili a quelle di una GPU su CPU standard, migliorando significativamente la velocità di inferenza, l'efficienza del modello e le prestazioni complessive mantenendo l'accuratezza. Per maggiori dettagli, consulta la sezione DeepSparse di Neural Magic.
Link to this sectionCome posso installare i pacchetti necessari per distribuire YOLO26 utilizzando DeepSparse di Neural Magic?#
L'installazione dei pacchetti richiesti per distribuire YOLO26 con DeepSparse di Neural Magic è semplice. Puoi installarli facilmente utilizzando la CLI. Ecco il comando che devi eseguire:
pip install deepsparse[yolov8]Una volta installato, segui i passaggi forniti nella sezione Installazione per configurare il tuo ambiente e iniziare a utilizzare DeepSparse con YOLO26.
Link to this sectionCome converto i modelli YOLO26 in formato ONNX per l'uso con DeepSparse?#
Per convertire i modelli YOLO26 nel formato ONNX, richiesto per la compatibilità con DeepSparse, puoi utilizzare il seguente comando CLI:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Questo comando esporterà il tuo modello YOLO26 (yolo26n.pt) in un formato (yolo26n.onnx) che può essere utilizzato dal motore DeepSparse. Maggiori informazioni sull'esportazione del modello possono essere trovate nella sezione Esportazione del modello.
Link to this sectionCome valuto le prestazioni di YOLO26 sul motore DeepSparse?#
Il benchmarking delle prestazioni di YOLO26 su DeepSparse ti aiuta ad analizzare throughput e latenza per garantire che il tuo modello sia ottimizzato. Puoi utilizzare il seguente comando CLI per eseguire un benchmark:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Questo comando ti fornirà metriche di prestazioni vitali. Per maggiori dettagli, vedi la sezione Benchmarking delle prestazioni.
Link to this sectionPerché dovrei usare DeepSparse di Neural Magic con YOLO26 per attività di object detection?#
L'integrazione di DeepSparse di Neural Magic con YOLO26 offre diversi vantaggi:
- Velocità di inferenza migliorata: Raggiunge fino a 525 FPS (su YOLO11n), dimostrando le capacità di ottimizzazione di DeepSparse.
- Efficienza del modello ottimizzata: Utilizza tecniche di sparsità, pruning e quantizzazione per ridurre le dimensioni del modello e le esigenze computazionali mantenendo l'accuratezza.
- Alte prestazioni su CPU standard: Offre prestazioni simili a quelle di una GPU su hardware CPU economico.
- Integrazione semplificata: Strumenti facili da usare per una semplice distribuzione e integrazione.
- Flessibilità: Supporta sia modelli YOLO26 standard che ottimizzati per la sparsità.
- Economico: Riduce le spese operative attraverso un utilizzo efficiente delle risorse.
Per un approfondimento su questi vantaggi, visita la sezione Vantaggi dell'integrazione di DeepSparse di Neural Magic con YOLO26.