Vai al contenuto

Come esportare in NCNN da YOLO11 per una distribuzione senza problemi

L'implementazione di modelli di computer vision su dispositivi con potenza di calcolo limitata, come i sistemi mobili o embedded, può essere complicata. È necessario assicurarsi di utilizzare un formato ottimizzato per ottenere prestazioni ottimali. In questo modo, anche i dispositivi con una potenza di elaborazione limitata possono gestire bene le attività di computer vision avanzate.

La funzione di esportazione in formato NCNN consente di ottimizzare i modelli per applicazioni Ultralytics YOLO11 modelli per applicazioni leggere basate su dispositivi. In questa guida vi spiegheremo come convertire i vostri modelli nel formato NCNN , facilitando così le prestazioni dei vostri modelli su vari dispositivi mobili ed embedded.

Perché esportare in NCNN?

NCNN panoramica

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

NCNN è noto per la sua velocità di elaborazione sulle CPU mobili e consente una rapida distribuzione dei modelli di deep learning sulle piattaforme mobili. Questo facilita la creazione di app intelligenti, mettendo la potenza dell'intelligenza artificiale a portata di mano.

Caratteristiche principali dei modelli NCNN

NCNN offrono un'ampia gamma di funzionalità chiave che consentono l'apprendimento automatico on-device, aiutando gli sviluppatori a eseguire i loro modelli su dispositivi mobili, embedded ed edge:

  • Efficienza e prestazioni elevate: i modelli di NCNN sono realizzati in modo da essere efficienti e leggeri, ottimizzati per l'esecuzione su dispositivi mobili ed embedded come Raspberry Pi con risorse limitate. Sono inoltre in grado di raggiungere prestazioni elevate con un'alta precisione in vari compiti basati sulla computer vision.

  • Quantizzazione: i modelli di NCNN spesso supportano la quantizzazione, una tecnica che riduce la precisione dei pesi e delle attivazioni del modello. Ciò consente di migliorare ulteriormente le prestazioni e di ridurre l'ingombro in memoria.

  • Compatibilità: i modelli di NCNN sono compatibili con i più diffusi framework di deep learning come TensorFlow, Caffe e ONNX. Questa compatibilità consente agli sviluppatori di utilizzare facilmente i modelli e i flussi di lavoro esistenti.

  • Facilità d'uso: i modelli di NCNN sono progettati per una facile integrazione in varie applicazioni, grazie alla loro compatibilità con i più diffusi framework di deep learning. Inoltre, NCNN offre strumenti di facile utilizzo per la conversione dei modelli tra diversi formati, garantendo un'interoperabilità senza problemi in tutto il panorama dello sviluppo.

Opzioni di distribuzione con NCNN

Prima di vedere il codice per esportare i modelli YOLO11 nel formato NCNN , cerchiamo di capire come vengono normalmente utilizzati i modelli NCNN .

NCNN I modelli, progettati per garantire efficienza e prestazioni, sono compatibili con diverse piattaforme di distribuzione:

  • Distribuzione mobile: Ottimizzato specificamente per Android e iOS, consente una perfetta integrazione nelle applicazioni mobili per un'inferenza efficiente sul dispositivo.

  • Sistemi embedded e dispositivi IoT: Se l'esecuzione dell'inferenza su un Raspberry Pi con la guidaUltralytics non è abbastanza veloce, il passaggio a un modello esportato da NCNN può aiutare a velocizzare le cose. NCNN è ottimo per dispositivi come Raspberry Pi e NVIDIA Jetson, soprattutto in situazioni in cui è necessaria un'elaborazione rapida direttamente sul dispositivo.

  • Distribuzione su desktop e server: È in grado di essere distribuito in ambienti desktop e server su Linux, Windows e macOS, supportando lo sviluppo, la formazione e la valutazione con capacità computazionali superiori.

Esportazione in NCNN: Conversione del modello YOLO11

È possibile espandere la compatibilità dei modelli e la flessibilità di distribuzione convertendo i modelli YOLO11 nel formato NCNN .

Installazione

Per installare i pacchetti richiesti, eseguire:

Installazione

# Install the required package for YOLO11
pip install ultralytics

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consultare la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLO11, se si incontrano difficoltà, consultare la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo

Prima di immergersi nelle istruzioni d'uso, è importante notare che tutti i modelli diUltralytics YOLO11 sono disponibili per l'esportazione, ma è possibile assicurarsi che il modello selezionato supporti la funzionalità di esportazione qui.

Utilizzo

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'

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

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to NCNN format
yolo export model=yolo11n.pt format=ncnn  # creates '/yolo11n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolo11n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

Per maggiori dettagli sulle opzioni di esportazione supportate, visitate la pagina di documentazioneUltralytics sulle opzioni di distribuzione.

Distribuzione dei modelli esportati di YOLO11 NCNN

Dopo aver esportato con successo i modelli Ultralytics YOLO11 nel formato NCNN , è possibile distribuirli. Il primo passo primario e consigliato per eseguire un modello NCNN è utilizzare il metodo YOLO("./model_ncnn_model"), come indicato nel precedente frammento di codice. Tuttavia, per istruzioni approfondite su come distribuire i modelli NCNN in varie altre impostazioni, consultare le seguenti risorse:

  • Android: Questo blog spiega come utilizzare i modelli di NCNN per eseguire operazioni come il rilevamento di oggetti attraverso le applicazioni di Android .

  • macOS: Capire come utilizzare i modelli di NCNN per eseguire attività con macOS.

  • Linux: Esplorate questa pagina per imparare a distribuire i modelli NCNN su dispositivi a risorse limitate come Raspberry Pi e altri dispositivi simili.

  • Windows x64 con VS2017: Esplorate questo blog per imparare a distribuire i modelli NCNN su Windows x64 utilizzando Visual Studio Community 2017.

Sintesi

In questa guida abbiamo analizzato l'esportazione dei modelli Ultralytics YOLO11 nel formato NCNN . Questa fase di conversione è fondamentale per migliorare l'efficienza e la velocità dei modelli YOLO11 , rendendoli più efficaci e adatti ad ambienti informatici con risorse limitate.

Per istruzioni dettagliate sull'uso, consultare la documentazione ufficiale di NCNN .

Inoltre, se siete interessati a esplorare altre opzioni di integrazione per Ultralytics YOLO11 , visitate la nostra pagina della guida all'integrazione per ulteriori approfondimenti e informazioni.

FAQ

Come posso esportare i modelli Ultralytics YOLO11 nel formato NCNN ?

Per esportare il modello Ultralytics YOLO11 nel formato NCNN , procedere come segue:

  • Python: Utilizzare il tasto export della classe YOLO .

    from ultralytics import YOLO
    
    # Load the YOLO11 model
    model = YOLO("yolo11n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'
    
  • CLI: Utilizzare il tasto yolo con il comando export argomento.

    yolo export model=yolo11n.pt format=ncnn  # creates '/yolo11n_ncnn_model'
    

Per informazioni dettagliate sulle opzioni di esportazione, consultare la pagina Esportazione nella documentazione.

Quali sono i vantaggi dell'esportazione dei modelli YOLO11 su NCNN?

L'esportazione dei modelli Ultralytics YOLO11 in NCNN offre diversi vantaggi:

  • Efficienza: i modelli di NCNN sono ottimizzati per i dispositivi mobili ed embedded, garantendo prestazioni elevate anche con risorse di calcolo limitate.
  • Quantizzazione: NCNN supporta tecniche come la quantizzazione che migliorano la velocità del modello e riducono l'uso della memoria.
  • Ampia compatibilità: È possibile distribuire i modelli NCNN su diverse piattaforme, tra cui Android, iOS, Linux e macOS.

Per ulteriori dettagli, consultare la sezione Esportazione in NCNN nella documentazione.

Perché dovrei utilizzare NCNN per le mie applicazioni AI per dispositivi mobili?

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

  • Prestazioni elevate: Progettato per un'elaborazione efficiente e veloce sulle CPU mobili.
  • Cross-Platform: Compatibile con i framework più diffusi, come TensorFlow e ONNX, facilitando la conversione e la distribuzione dei modelli su diverse piattaforme.
  • Supporto della comunità: Il supporto attivo della comunità garantisce miglioramenti e aggiornamenti continui.

Per saperne di più, visitate la panoramica diNCNN nella documentazione.

Quali piattaforme sono supportate per ladistribuzione del modello NCNN ?

NCNN è versatile e supporta diverse piattaforme:

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

Se l'esecuzione dei modelli su un Raspberry Pi non è abbastanza veloce, la conversione nel formato NCNN potrebbe accelerare le cose, come descritto nella nostra Guida per Raspberry Pi.

Come posso distribuire i modelli Ultralytics YOLO11 NCNN su Android?

Per distribuire i modelli YOLO11 su Android:

  1. Costruire per Android: Seguire la guida NCNN Build for Android.
  2. Integrazione con l'applicazione: Utilizzate l'SDK di NCNN Android per integrare il modello esportato nella vostra applicazione per un'inferenza efficiente sul dispositivo.

Per le istruzioni passo-passo, consultare la nostra guida sulla distribuzione dei modelli YOLO11 NCNN .

Per guide e casi d'uso più avanzati, visitate la pagina della documentazione diUltralytics .

📅C reato 9 mesi fa ✏️ Aggiornato 2 mesi fa

Commenti