CoreML Esportazione per i modelli YOLO11
L'implementazione di modelli di computer vision su dispositivi Apple come iPhone e Mac richiede un formato che garantisca prestazioni senza interruzioni.
Il formato di esportazione CoreML consente di ottimizzare i modelli per un Ultralytics YOLO11 modelli per un rilevamento efficiente degli oggetti nelle applicazioni iOS e macOS. In questa guida vi illustreremo i passaggi per convertire i vostri modelli nel formato CoreML , facilitando così le prestazioni dei vostri modelli sui dispositivi Apple.
CoreML
CoreML è il framework di apprendimento automatico fondamentale di Apple che si basa su Accelerate, BNNS e Metal Performance Shaders. Fornisce un formato di modello di apprendimento automatico che si integra perfettamente nelle applicazioni di iOS e supporta attività come l'analisi delle immagini, l'elaborazione del linguaggio naturale, la conversione audio-testo e l'analisi del suono.
Le applicazioni possono sfruttare Core ML senza la necessità di disporre di una connessione di rete o di chiamate API, perché il framework Core ML funziona utilizzando il calcolo on-device. Ciò significa che l'inferenza del modello può essere eseguita localmente sul dispositivo dell'utente.
Caratteristiche principali dei modelli CoreML
Il framework CoreML di Apple offre solide funzionalità per l'apprendimento automatico su dispositivo. Ecco le caratteristiche principali che rendono CoreML uno strumento potente per gli sviluppatori:
- Supporto completo per i modelli: Converte ed esegue modelli da framework popolari come TensorFlow, PyTorch, scikit-learn, XGBoost e LibSVM.
-
Machine Learning on-device: Garantisce la privacy dei dati e un'elaborazione rapida grazie all'esecuzione dei modelli direttamente sul dispositivo dell'utente, eliminando la necessità di connettersi alla rete.
-
Prestazioni e ottimizzazione: Utilizza i motori CPU, GPU e Neural Engine del dispositivo per ottenere prestazioni ottimali con un utilizzo minimo di energia e memoria. Offre strumenti per la compressione e l'ottimizzazione dei modelli, mantenendo l'accuratezza.
-
Facilità di integrazione: Fornisce un formato unificato per vari tipi di modelli e un'API di facile utilizzo per una perfetta integrazione nelle applicazioni. Supporta attività specifiche del dominio attraverso framework come Vision e Natural Language.
-
Caratteristiche avanzate: Include funzionalità di formazione sul dispositivo per esperienze personalizzate, previsioni asincrone per esperienze di ML interattive e strumenti di ispezione e convalida dei modelli.
CoreML Opzioni di distribuzione
Prima di esaminare il codice per l'esportazione dei modelli YOLO11 nel formato CoreML , cerchiamo di capire dove vengono solitamente utilizzati i modelli CoreML .
CoreML offre diverse opzioni di distribuzione per i modelli di apprendimento automatico, tra cui:
-
Distribuzione su dispositivo: Questo metodo integra direttamente i modelli di CoreML nell'applicazione iOS . È particolarmente vantaggioso per garantire una bassa latenza, una maggiore privacy (poiché i dati rimangono sul dispositivo) e la funzionalità offline. Questo approccio, tuttavia, può essere limitato dalle capacità hardware del dispositivo, soprattutto per i modelli più grandi e complessi. La distribuzione sul dispositivo può essere eseguita nei due modi seguenti.
-
Modelli incorporati: Questi modelli sono inclusi nel bundle dell'app e sono immediatamente accessibili. Sono ideali per i modelli di piccole dimensioni che non richiedono aggiornamenti frequenti.
-
Modelli scaricati: Questi modelli vengono prelevati da un server in base alle necessità. Questo approccio è adatto ai modelli più grandi o a quelli che necessitano di aggiornamenti regolari. Contribuisce a ridurre le dimensioni del bundle dell'applicazione.
-
-
Distribuzione basata sul cloud: i modelli di CoreML sono ospitati su server e accessibili dall'applicazione iOS tramite richieste API. Questa opzione scalabile e flessibile consente di aggiornare facilmente i modelli senza dover rivedere l'app. È ideale per modelli complessi o applicazioni su larga scala che richiedono aggiornamenti regolari. Tuttavia, richiede una connessione a Internet e può comportare problemi di latenza e di sicurezza.
Esportazione dei modelli YOLO11 in CoreML
L'esportazione di YOLO11 in CoreML consente di ottimizzare le prestazioni di apprendimento automatico sul dispositivo all'interno dell'ecosistema Apple, offrendo vantaggi in termini di efficienza, sicurezza e integrazione perfetta con le piattaforme iOS, macOS, watchOS e tvOS.
Installazione
Per installare il pacchetto richiesto, eseguire:
Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consultare la nostra guida all'installazione diYOLO11 . 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 per l'uso, assicuratevi di controllare la gamma di modelliYOLO11 offerti da Ultralytics. Questo vi aiuterà a scegliere il modello più adatto alle esigenze del vostro progetto.
Utilizzo
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo11n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO("yolo11n.mlpackage")
# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
Per maggiori dettagli sul processo di esportazione, visitare la pagina di documentazioneUltralytics sull'esportazione.
Distribuzione dei modelli esportati di YOLO11 CoreML
Dopo aver esportato con successo i modelli Ultralytics YOLO11 in CoreML, la fase successiva è quella della distribuzione efficace di questi modelli. Per una guida dettagliata sulla distribuzione dei modelli CoreML in vari ambienti, consultate queste risorse:
-
CoreML Strumenti: Questa guida contiene istruzioni ed esempi per convertire modelli da TensorFlow, PyTorch, e altre librerie in Core ML.
-
ML e visione: Una raccolta di video completi che coprono vari aspetti dell'utilizzo e dell'implementazione dei modelli di CoreML .
-
Integrare un modello di ML centrale nella propria applicazione: Una guida completa sull'integrazione di un modello CoreML in un'applicazione iOS , che illustra i passaggi dalla preparazione del modello all'implementazione nell'applicazione per varie funzionalità.
Sintesi
In questa guida abbiamo spiegato come esportare i modelli Ultralytics YOLO11 nel formato CoreML . Seguendo i passi indicati in questa guida, è possibile garantire la massima compatibilità e le migliori prestazioni quando si esportano i modelli YOLO11 in CoreML.
Per ulteriori dettagli sull'uso, visitare la documentazione ufficiale di CoreML .
Inoltre, se desiderate saperne di più su altre integrazioni di Ultralytics YOLO11 , visitate la nostra pagina della guida alle integrazioni. Troverete molte risorse e approfondimenti preziosi.
FAQ
Come si esportano i modelli YOLO11 nel formato CoreML ?
Per esportare il vostro Ultralytics YOLO11 modelli in formato CoreML , è necessario innanzitutto assicurarsi di avere il file ultralytics
installato. È possibile installarlo utilizzando:
Successivamente, è possibile esportare il modello utilizzando i seguenti comandi Python o CLI :
Utilizzo
Per ulteriori dettagli, consultare la sezione Esportazione di modelli YOLO11 in CoreML della nostra documentazione.
Quali sono i vantaggi dell'utilizzo di CoreML per la distribuzione dei modelli di YOLO11 ?
CoreML offre numerosi vantaggi per la distribuzione di Ultralytics YOLO11 su dispositivi Apple:
- Elaborazione su dispositivo: Consente l'inferenza locale del modello sui dispositivi, garantendo la privacy dei dati e riducendo al minimo la latenza.
- Ottimizzazione delle prestazioni: Sfrutta tutto il potenziale dei dispositivi CPU, GPU e Neural Engine, ottimizzando velocità ed efficienza.
- Facilità di integrazione: Offre un'esperienza di integrazione perfetta con gli ecosistemi Apple, tra cui iOS, macOS, watchOS e tvOS.
- Versatilità: Supporta un'ampia gamma di attività di apprendimento automatico, come l'analisi delle immagini, l'elaborazione audio e l'elaborazione del linguaggio naturale, utilizzando il framework CoreML .
Per maggiori dettagli sull'integrazione del modello CoreML in un'applicazione iOS , consultate la guida sull'integrazione di un modello ML core nella vostra applicazione.
Quali sono le opzioni di distribuzione per i modelli YOLO11 esportati in CoreML?
Una volta esportato il modello YOLO11 in formato CoreML , sono disponibili diverse opzioni di distribuzione:
-
Distribuzione su dispositivo: Integrate direttamente i modelli di CoreML nella vostra applicazione per migliorare la privacy e la funzionalità offline. Questo può essere fatto come:
- Modelli incorporati: Inclusi nel bundle dell'app, accessibili immediatamente.
- Modelli scaricati: Recuperati da un server secondo le necessità, per ridurre le dimensioni del bundle dell'applicazione.
-
Distribuzione basata sul cloud: Ospitare i modelli CoreML sui server e accedervi tramite richieste API. Questo approccio supporta aggiornamenti più semplici e può gestire modelli più complessi.
Per una guida dettagliata sulla distribuzione dei modelli CoreML , consultare CoreML Opzioni di distribuzione.
Come fa CoreML a garantire prestazioni ottimizzate per i modelli YOLO11 ?
CoreML garantisce prestazioni ottimizzate per Ultralytics YOLO11 modelli utilizzando varie tecniche di ottimizzazione:
- Accelerazione hardware: Utilizza i dispositivi CPU, GPU e Neural Engine per un calcolo efficiente.
- Compressione dei modelli: Fornisce strumenti per comprimere i modelli per ridurne l'ingombro senza compromettere l'accuratezza.
- Inferenza adattiva: Regola l'inferenza in base alle capacità del dispositivo per mantenere un equilibrio tra velocità e prestazioni.
Per ulteriori informazioni sull'ottimizzazione delle prestazioni, visitate la documentazione ufficiale di CoreML .
Posso eseguire l'inferenza direttamente con il modello CoreML esportato?
Sì, è possibile eseguire l'inferenza direttamente utilizzando il modello esportato CoreML . Di seguito sono riportati i comandi per Python e CLI:
Esecuzione dell'inferenza
Per ulteriori informazioni, consultare la sezione Uso della guida all'esportazione di CoreML .