Meet YOLO26: next-gen vision AI.

Link to this sectionEsportazione NCNN di Ultralytics YOLO#

Distribuire modelli di computer vision su dispositivi con potenza di calcolo limitata, come sistemi mobili o embedded, richiede un'attenta selezione del formato. L'uso di un formato ottimizzato garantisce che anche i dispositivi con risorse limitate possano gestire attività avanzate di computer vision in modo efficiente.

L'esportazione nel formato NCNN ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per applicazioni leggere basate su dispositivo. Questa guida illustra come convertire i tuoi modelli nel formato NCNN per migliorare le prestazioni su dispositivi mobili ed embedded.

Link to this sectionPerché esportare in NCNN?#

NCNN high-performance neural network inference framework

Il framework NCNN, sviluppato da Tencent, è un framework di calcolo per l'inferenza di reti neurali ad alte prestazioni, ottimizzato specificamente per piattaforme mobili, inclusi telefoni cellulari, dispositivi embedded e dispositivi IoT. NCNN è compatibile con una vasta gamma di piattaforme, tra cui Linux, Android, iOS e macOS.

NCNN è noto per la sua elevata velocità di elaborazione su CPU mobili e consente una rapida distribuzione di modelli di deep learning su piattaforme mobili, rendendolo una scelta eccellente per la creazione di applicazioni basate sull'IA.

Link to this sectionCaratteristiche principali dei modelli NCNN#

I modelli NCNN offrono diverse funzionalità chiave che abilitano il machine learning su dispositivo, aiutando gli sviluppatori a distribuire modelli su dispositivi mobili, embedded e edge:

  • Efficienti e ad alte prestazioni: I modelli NCNN sono leggeri e ottimizzati per dispositivi mobili ed embedded come Raspberry Pi con risorse limitate, mantenendo un'elevata precisione nelle attività di computer vision.

  • Quantizzazione: NCNN supporta la quantizzazione, una tecnica che riduce la precisione dei pesi e delle attivazioni del modello per migliorare le prestazioni e ridurre l'impronta di memoria.

  • Compatibilità: I modelli NCNN sono compatibili con popolari framework di deep learning, inclusi TensorFlow, Caffe e ONNX, consentendo agli sviluppatori di sfruttare modelli e flussi di lavoro esistenti.

  • Facilità d'uso: NCNN fornisce strumenti intuitivi per la conversione dei modelli tra diversi formati, garantendo un'interoperabilità fluida tra vari ambienti di sviluppo.

  • Accelerazione GPU Vulkan: NCNN supporta Vulkan per l'inferenza accelerata da GPU su più fornitori, inclusi AMD, Intel e altre GPU non NVIDIA, consentendo una distribuzione ad alte prestazioni su una gamma più ampia di hardware.

Link to this sectionOpzioni di distribuzione con NCNN#

I modelli NCNN sono compatibili con una varietà di piattaforme di distribuzione:

  • Distribuzione mobile: Ottimizzato per Android e iOS, consente un'integrazione fluida nelle applicazioni mobili per un'efficiente inferenza on-device.

  • Sistemi embedded e dispositivi IoT: Ideale per dispositivi con risorse limitate come Raspberry Pi e NVIDIA Jetson. Se l'inferenza standard su un Raspberry Pi con la Guida Ultralytics non è sufficiente, NCNN può offrire significativi miglioramenti delle prestazioni.

  • Distribuzione desktop e server: Supporta la distribuzione su Linux, Windows e macOS per flussi di lavoro di sviluppo, addestramento e valutazione.

Link to this sectionAccelerazione GPU Vulkan#

NCNN supporta l'accelerazione GPU tramite Vulkan, consentendo un'inferenza ad alte prestazioni su una vasta gamma di GPU, tra cui schede grafiche AMD, Intel e altre non NVIDIA. Ciò è particolarmente utile per:

  • Supporto GPU multi-vendor: A differenza di CUDA, che è limitato alle GPU NVIDIA, Vulkan funziona su più fornitori di GPU.
  • Sistemi Multi-GPU: Seleziona uno specifico dispositivo Vulkan in sistemi con più GPU utilizzando device="vulkan:0", device="vulkan:1", ecc.
  • Distribuzioni Edge e Desktop: Sfrutta l'accelerazione GPU su dispositivi in cui CUDA non è disponibile.

Per utilizzare l'accelerazione Vulkan, specifica il dispositivo Vulkan durante l'esecuzione dell'inferenza:

Inferenza Vulkan
from ultralytics import YOLO

# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")

# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")

# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
Requisiti Vulkan

Assicurati di aver installato i driver Vulkan per la tua GPU. La maggior parte dei driver GPU moderni include il supporto Vulkan per impostazione predefinita. Puoi verificare la disponibilità di Vulkan utilizzando strumenti come vulkaninfo su Linux o l'SDK Vulkan su Windows.

Link to this sectionEsportazione in NCNN: Conversione del tuo modello YOLO26#

Puoi espandere la compatibilità del modello e la flessibilità di distribuzione convertendo i modelli YOLO26 nel formato NCNN.

Link to this sectionAttività supportate#

L'esportazione NCNN supporta il set di attività standard di Ultralytics YOLO26.

Link to this sectionInstallazione#

Per installare i pacchetti necessari, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e best practice, consulta la Guida all'installazione di Ultralytics. Se riscontri difficoltà, consulta la nostra Guida ai problemi comuni per trovare soluzioni.

Link to this sectionUtilizzo#

Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione immediatamente, rendendo facile integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione supportati e delle opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.

Il formato NCNN supporta le modalità Esporta, Prevedi e Valida. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o convalidarne la precisione.

Esportazione
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
Inferenza
from ultralytics import YOLO

# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Convalida
from ultralytics import YOLO

# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionArgomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'ncnn'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione.
imgszint o tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
halfboolFalseAbilita la quantizzazione FP16 (precisione dimezzata), riducendo le dimensioni del modello e accelerando potenzialmente l'inferenza su hardware supportato.
batchint1Specifica la dimensione dell'inferenza in batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in modalità predict.
devicestrNoneSpecifica il dispositivo per l'esportazione: GPU (device=0), CPU (device=cpu), MPS per Apple silicon (device=mps).

Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.

Link to this sectionDistribuzione di modelli YOLO26 NCNN esportati#

Dopo aver esportato i tuoi modelli Ultralytics YOLO26 nel formato NCNN, puoi distribuirli utilizzando il metodo YOLO("yolo26n_ncnn_model/") come mostrato nell'esempio di utilizzo sopra. Per istruzioni di distribuzione specifiche per piattaforma, consulta le seguenti risorse:

  • Android: Compila e integra modelli NCNN per il rilevamento oggetti nelle applicazioni Android.

  • macOS: Distribuisci modelli NCNN su sistemi macOS.

  • Linux: Distribuisci modelli NCNN su dispositivi Linux, inclusi Raspberry Pi e sistemi embedded simili.

  • Windows x64: Distribuisci modelli NCNN su Windows x64 utilizzando Visual Studio.

Link to this sectionSommario#

Questa guida ha coperto l'esportazione dei modelli Ultralytics YOLO26 nel formato NCNN per una maggiore efficienza e velocità su dispositivi con risorse limitate.

Per ulteriori dettagli, fai riferimento alla documentazione ufficiale di NCNN. Per altre opzioni di esportazione, visita la nostra pagina della guida all'integrazione.

Link to this sectionFAQ#

Link to this sectionCome esporto i modelli Ultralytics YOLO26 nel formato NCNN?#

Per esportare il tuo modello Ultralytics YOLO26 nel formato NCNN:

  • Python: Utilizza il metodo export della classe YOLO.

    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
  • CLI: Utilizza il comando yolo export.

    yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'

Per opzioni di esportazione dettagliate, consulta la documentazione Esporta.

Link to this sectionQuali sono i vantaggi dell'esportazione dei modelli YOLO26 in NCNN?#

Esportare i tuoi modelli Ultralytics YOLO26 in NCNN offre diversi vantaggi:

  • Efficienza: I modelli NCNN sono ottimizzati per dispositivi mobili ed embedded, garantendo prestazioni elevate anche con risorse computazionali limitate.
  • Quantizzazione: NCNN supporta tecniche come la quantizzazione che migliorano la velocità del modello e riducono l'utilizzo della memoria.
  • Ampia compatibilità: Puoi distribuire modelli NCNN su più piattaforme, inclusi Android, iOS, Linux e macOS.
  • Accelerazione GPU Vulkan: Sfrutta l'accelerazione GPU su AMD, Intel e altre GPU non NVIDIA tramite Vulkan per un'inferenza più veloce.

Per maggiori dettagli, consulta la sezione Perché esportare in NCNN?.

Link to this sectionPerché dovrei usare NCNN per le mie applicazioni IA mobili?#

NCNN, sviluppato da Tencent, è ottimizzato specificamente per piattaforme mobili. I motivi principali per utilizzare NCNN includono:

  • Alte prestazioni: Progettato per un'elaborazione efficiente e veloce su CPU mobili.
  • Cross-Platform: Compatibile con framework popolari come TensorFlow e ONNX, rendendo più semplice convertire e distribuire modelli su piattaforme diverse.
  • Supporto della community: Un supporto attivo della community garantisce continui miglioramenti e aggiornamenti.

Per ulteriori informazioni, consulta la sezione Caratteristiche principali dei modelli NCNN.

Link to this sectionQuali piattaforme sono supportate per la distribuzione dei modelli NCNN?#

NCNN è versatile e supporta varie piattaforme:

  • Mobile: Android, iOS.
  • Sistemi embedded e dispositivi IoT: Dispositivi come Raspberry Pi e NVIDIA Jetson.
  • Desktop e Server: Linux, Windows e macOS.

Per prestazioni migliori su Raspberry Pi, considera l'utilizzo del formato NCNN come descritto nella nostra Guida a Raspberry Pi.

Link to this sectionCome posso distribuire i modelli Ultralytics YOLO26 NCNN su Android?#

Per distribuire i tuoi modelli YOLO26 su Android:

  1. Compila per Android: Segui la guida NCNN Build for Android.
  2. Integra con la tua App: Utilizza l'SDK Android di NCNN per integrare il modello esportato nella tua applicazione per un'efficiente inferenza on-device.

Per istruzioni dettagliate, consulta Distribuzione di modelli YOLO26 NCNN esportati.

Per guide più avanzate e casi d'uso, visita la guida alla distribuzione di Ultralytics.

Link to this sectionCome utilizzo l'accelerazione GPU Vulkan con i modelli NCNN?#

NCNN supporta Vulkan per l'accelerazione GPU su AMD, Intel e altre GPU non NVIDIA. Per utilizzare Vulkan:

from ultralytics import YOLO

# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0")  # Use first Vulkan device

Per sistemi multi-GPU, specifica l'indice del dispositivo (es. vulkan:1 per la seconda GPU). Assicurati che i driver Vulkan siano installati per la tua GPU. Vedi la sezione Accelerazione GPU Vulkan per maggiori dettagli.

Commenti