Ottimizzazione delle inferenze YOLO26 con il motore DeepSparse di Neural Magic
Quando distribuisci modelli di object detection come Ultralytics YOLO26 su diversi hardware, puoi imbatterti in problemi unici 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 le inferenze e anche come misurare le prestazioni per assicurarti che siano ottimizzate.
Neural Magic è stata acquisita da Red Hat nel gennaio 2025 e sta deprecando le versioni community delle loro librerie deepsparse, sparseml, sparsezoo e sparsify. Per ulteriori informazioni, consulta l'avviso pubblicato nel Readme sul repository GitHub di sparseml.
DeepSparse 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 sparsity, pruning e quantizzazione per ridurre drasticamente le richieste computazionali mantenendo l'accuratezza. DeepSparse offre una soluzione agile per l'esecuzione efficiente e scalabile di neural network su vari dispositivi.
Vantaggi 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 pruning e quantizzazione per migliorare l'efficienza di YOLO26, riducendo le dimensioni 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 facile integrazione di YOLO26 nelle applicazioni, incluse le funzionalità di annotazione di immagini e video.
-
Supporto per vari tipi di modelli: Compatibile sia con modelli YOLO26 standard che con modelli ottimizzati per la sparsity, aggiungendo flessibilità di distribuzione.
-
Soluzione economica e scalabile: Riduce le spese operative e offre una distribuzione scalabile di modelli avanzati di object detection.
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. Adotta due principi chiave dal cervello come segue:
-
Sparsity: Il processo di sparsificazione prevede la potatura delle informazioni ridondanti dalle reti di deep learning, portando a modelli più piccoli e veloci senza compromettere l'accuratezza. Questa tecnica riduce significativamente le dimensioni e le esigenze computazionali della rete.
-
Locality of Reference: DeepSparse utilizza un metodo di esecuzione unico, dividendo la rete in Tensor Columns. Queste colonne vengono eseguite in profondità, adattandosi interamente alla cache della CPU. Questo approccio imita l'efficienza del cervello, minimizzando lo spostamento dei dati e massimizzando l'uso della cache della CPU.
Creazione di una versione sparsa di YOLO26 addestrata su un dataset personalizzato
SparseZoo, un repository di modelli open-source di Neural Magic, offre una collezione di checkpoint di modelli YOLO26 pre-sparsificati. Con SparseML, integrato perfettamente con Ultralytics, puoi facilmente perfezionare questi checkpoint sparsi sui tuoi dataset specifici utilizzando una semplice interfaccia a riga di comando.
Dai un'occhiata alla documentazione di SparseML YOLO26 di Neural Magic per maggiori dettagli.
Utilizzo: Distribuzione di YOLO26 utilizzando DeepSparse
La distribuzione di YOLO26 con DeepSparse di Neural Magic prevede alcuni semplici passaggi. Prima di immergerti 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.
Passaggio 1: Installazione
Per installare i pacchetti necessari, esegui:
# Install the required packages
pip install deepsparse[yolov8]Passaggio 2: Esportazione di YOLO26 nel formato ONNX
Il motore DeepSparse richiede modelli YOLO26 in formato ONNX. L'esportazione del 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.
Passaggio 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)Passaggio 4: Benchmarking delle prestazioni
È importante verificare che il tuo modello YOLO26 funzioni in modo ottimale su DeepSparse. Puoi eseguire un benchmark sulle 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]"Passaggio 5: Funzionalità aggiuntive
DeepSparse fornisce funzionalità aggiuntive per l'integrazione pratica di YOLO26 nelle applicazioni, come l'annotazione di immagini e la valutazione del 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 gli oggetti e salvando l'immagine annotata con 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 accuratezza ed efficienza.
Riepilogo
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 sparsity delle reti neurali.
Per informazioni più dettagliate e un uso avanzato, visita la documentazione DeepSparse di Neural Magic. Puoi anche esplorare la guida all'integrazione di YOLO26 e guardare una sessione di approfondimento 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.
FAQ
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 tramite tecniche avanzate come sparsity, 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, dai un'occhiata alla sezione DeepSparse di Neural Magic.
Come 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.
Come converto i modelli YOLO26 in formato ONNX per l'uso con DeepSparse?
Per convertire i modelli YOLO26 nel formato ONNX, necessario 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 sono disponibili nella sezione Esportazione del modello.
Come posso eseguire il benchmark delle prestazioni di YOLO26 sul motore DeepSparse?
L'esecuzione del benchmark delle prestazioni di YOLO26 su DeepSparse ti aiuta ad analizzare throughput e latenza per assicurarti 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 vitali sulle prestazioni. Per maggiori dettagli, consulta la sezione Benchmarking delle prestazioni.
Perché 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 sparsity, 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 distribuzione e integrazione semplici.
- Flessibilità: Supporta sia modelli YOLO26 standard che quelli ottimizzati per la sparsity.
- Economico: Riduce le spese operative attraverso un uso efficiente delle risorse.
Per un approfondimento su questi vantaggi, visita la sezione Vantaggi dell'integrazione di DeepSparse di Neural Magic con YOLO26.