Meet YOLO26: next-gen vision AI.

Link to this sectionEsportazione CoreML per modelli YOLO26#

Distribuire modelli di computer vision su dispositivi Apple come iPhone e Mac richiede un formato che garantisca prestazioni ottimali.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

Il formato di esportazione CoreML ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per un'efficiente object detection in applicazioni iOS e macOS. In questa guida, ti illustreremo i passaggi per convertire i tuoi modelli nel formato CoreML, semplificando le prestazioni dei tuoi modelli sui dispositivi Apple.

Link to this sectionCoreML#

Apple CoreML deployment pipeline

CoreML è il framework fondamentale di Apple per il machine learning, basato su Accelerate, BNNS e Metal Performance Shaders. Fornisce un formato di modello di machine learning che si integra perfettamente nelle applicazioni iOS e supporta attività come l'analisi delle immagini, natural language processing, la conversione audio-testo e l'analisi sonora.

Le applicazioni possono sfruttare Core ML senza bisogno di una connessione di rete o chiamate API, poiché 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.

Link to this sectionCaratteristiche principali dei modelli CoreML#

Il framework CoreML di Apple offre funzionalità robuste per il machine learning on-device. Ecco le caratteristiche chiave che rendono CoreML uno strumento potente per gli sviluppatori:

  • Supporto completo per i modelli: Converte ed esegue modelli dai framework più diffusi come TensorFlow, PyTorch, scikit-learn, XGBoost e LibSVM.

CoreML supported deep learning frameworks

  • Machine Learning on-device: Garantisce la privacy dei dati e un'elaborazione rapida eseguendo i modelli direttamente sul dispositivo dell'utente, eliminando la necessità di connessione di rete.

  • Prestazioni e ottimizzazione: Utilizza la CPU, la GPU e il Neural Engine del dispositivo per prestazioni ottimali con un consumo minimo di energia e memoria. Offre strumenti per la compressione e l'ottimizzazione del modello mantenendo l'accuracy.

  • Facilità di integrazione: Fornisce un formato unificato per vari tipi di modelli e un'API intuitiva per un'integrazione fluida nelle app. Supporta attività specifiche di dominio attraverso framework come Vision e Natural Language.

  • Funzionalità avanzate: Include funzionalità di addestramento on-device per esperienze personalizzate, previsioni asincrone per esperienze di ML interattive e strumenti di ispezione e convalida dei modelli.

Link to this sectionOpzioni di distribuzione CoreML#

Prima di esaminare il codice per l'esportazione dei modelli YOLO26 nel formato CoreML, comprendiamo dove vengono solitamente utilizzati i modelli CoreML.

CoreML offre varie opzioni di distribuzione per i modelli di machine learning, tra cui:

  • Distribuzione on-device: Questo metodo integra direttamente i modelli CoreML nella tua app iOS. È particolarmente vantaggioso per garantire bassa latenza, maggiore privacy (poiché i dati rimangono sul dispositivo) e funzionalità offline. Questo approccio, tuttavia, potrebbe essere limitato dalle capacità hardware del dispositivo, specialmente per modelli più grandi e complessi, e può essere eseguito nei due modi seguenti:

    • Modelli incorporati: Questi modelli sono inclusi nel bundle dell'app e sono immediatamente accessibili. Sono ideali per modelli piccoli che non richiedono aggiornamenti frequenti.

    • Modelli scaricati: Questi modelli vengono recuperati da un server quando necessario. Questo approccio è adatto per modelli più grandi o per quelli che necessitano di aggiornamenti regolari. Aiuta a mantenere ridotte le dimensioni del bundle dell'app.

  • Distribuzione basata sul cloud: I modelli CoreML sono ospitati su server e accessibili dall'app iOS tramite richieste API. Questa opzione scalabile e flessibile consente facili aggiornamenti del modello senza revisioni dell'app. È ideale per modelli complessi o app su larga scala che richiedono aggiornamenti regolari. Tuttavia, richiede una connessione Internet e può comportare problemi di latenza e sicurezza.

Link to this sectionEsportazione di modelli YOLO26 in CoreML#

Esportare YOLO26 in CoreML abilita prestazioni di machine learning on-device ottimizzate all'interno dell'ecosistema Apple, offrendo vantaggi in termini di efficienza, sicurezza e integrazione fluida con le piattaforme iOS, macOS, watchOS e tvOS.

Link to this sectionInstallazione#

Per installare il pacchetto richiesto, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e migliori pratiche relative al processo di installazione, consulta la nostra guida all'installazione di YOLO26. Durante l'installazione dei pacchetti richiesti per YOLO26, se riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.

Link to this sectionUtilizzo#

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.

Il formato CoreML supporta le modalità Export, Predict e Validate. L'inferenza e la convalida con CoreML vengono eseguite solo su macOS. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o convalidarne l'accuratezza.

Esportazione
from ultralytics import YOLO

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

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolo26n.mlpackage'
Previsione
from ultralytics import YOLO

# Load the exported CoreML model
model = YOLO("yolo26n.mlpackage")

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

# Load the exported CoreML model
model = YOLO("yolo26n.mlpackage")

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

Link to this sectionArgomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'coreml'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
dynamicboolFalseConsente dimensioni di input dinamiche, migliorando la flessibilità nella gestione di dimensioni di immagine variabili.
halfboolFalseAbilita la quantizzazione FP16 (precisione dimezzata), riducendo la dimensione del modello e potenzialmente accelerando l'inferenza su hardware supportato.
int8boolFalseAttiva la quantizzazione INT8, comprimendo ulteriormente il modello e accelerando l'inferenza con una perdita minima di accuratezza, principalmente per i dispositivi edge.
nmsboolFalseAggiunge la Non-Maximum Suppression (NMS), essenziale per una post-elaborazione del rilevamento accurata ed efficiente.
batchint1Specifica la dimensione dell'inferenza in batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
devicestrNoneSpecifica il dispositivo per l'esportazione: GPU (device=0), CPU (device=cpu), MPS per Apple silicon (device=mps).
Suggerimento

Assicurati di utilizzare una macchina macOS o x86 Linux durante l'esportazione in CoreML.

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

Link to this sectionDistribuzione di modelli YOLO26 CoreML esportati#

Dopo aver esportato con successo i tuoi modelli Ultralytics YOLO26 in CoreML, la fase successiva fondamentale è la distribuzione efficace di tali modelli. Per una guida dettagliata sulla distribuzione dei modelli CoreML in vari ambienti, consulta queste risorse:

  • CoreML Tools: Questa guida include istruzioni ed esempi per convertire modelli da TensorFlow, PyTorch e altre librerie in Core ML.

  • ML and Vision: Una raccolta di video completi che coprono vari aspetti dell'utilizzo e dell'implementazione di modelli CoreML.

  • Integrazione di un modello Core ML nella tua app: Una guida completa sull'integrazione di un modello CoreML in un'applicazione iOS, che dettaglia i passaggi dalla preparazione del modello alla sua implementazione nell'app per varie funzionalità.

In questa guida abbiamo esaminato come esportare i modelli Ultralytics YOLO26 nel formato CoreML. Seguendo i passaggi delineati in questa guida, puoi garantire la massima compatibilità e prestazioni durante l'esportazione dei modelli YOLO26 in CoreML.

Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di CoreML.

Inoltre, se desideri saperne di più su altre integrazioni di Ultralytics YOLO26, visita la nostra pagina della guida all'integrazione. Troverai molte risorse e approfondimenti preziosi.

Link to this sectionFAQ#

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

Per esportare i tuoi modelli Ultralytics YOLO26 nel formato CoreML, dovrai prima assicurarti di avere il pacchetto ultralytics installato. Puoi installarlo usando:

Installazione
pip install ultralytics

Successivamente, puoi esportare il modello utilizzando i seguenti comandi Python o CLI:

Utilizzo
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreml")

Per ulteriori dettagli, consulta la sezione Esportazione di modelli YOLO26 in CoreML della nostra documentazione.

Link to this sectionQuali sono i vantaggi dell'utilizzo di CoreML per la distribuzione dei modelli YOLO26?#

CoreML offre numerosi vantaggi per la distribuzione di modelli Ultralytics YOLO26 sui dispositivi Apple:

  • Elaborazione on-device: Abilita l'inferenza locale del modello sui dispositivi, garantendo la data privacy e riducendo al minimo la latenza.
  • Ottimizzazione delle prestazioni: Sfrutta tutto il potenziale della CPU, della GPU e del Neural Engine del dispositivo, ottimizzando sia la velocità che l'efficienza.
  • Facilità di integrazione: Offre un'esperienza di integrazione fluida con gli ecosistemi Apple, inclusi iOS, macOS, watchOS e tvOS.
  • Versatilità: Supporta una vasta gamma di attività di machine learning come l'analisi delle immagini, l'elaborazione audio e l'elaborazione del linguaggio naturale utilizzando il framework CoreML.

Per ulteriori dettagli sull'integrazione del tuo modello CoreML in un'app iOS, consulta la guida su Integrazione di un modello Core ML nella tua app.

Link to this sectionQuali sono le opzioni di distribuzione per i modelli YOLO26 esportati in CoreML?#

Una volta esportato il tuo modello YOLO26 nel formato CoreML, hai molteplici opzioni di distribuzione:

  1. Distribuzione on-device: Integra direttamente i modelli CoreML nella tua app per una maggiore privacy e funzionalità offline. Questo può essere fatto come:

    • Modelli incorporati: Inclusi nel bundle dell'app, accessibili immediatamente.
    • Modelli scaricati: Recuperati da un server quando necessario, mantenendo ridotte le dimensioni del bundle dell'app.
  2. Distribuzione basata sul cloud: Ospita i modelli CoreML su server e accedi ad essi tramite richieste API. Questo approccio supporta aggiornamenti più semplici e può gestire modelli più complessi.

Per una guida dettagliata sulla distribuzione dei modelli CoreML, consulta Opzioni di distribuzione CoreML.

Link to this sectionCome garantisce CoreML prestazioni ottimizzate per i modelli YOLO26?#

CoreML garantisce prestazioni ottimizzate per i modelli Ultralytics YOLO26 utilizzando varie tecniche di ottimizzazione:

  • Accelerazione hardware: Utilizza la CPU, la GPU e il Neural Engine del dispositivo per un calcolo efficiente.
  • Compressione del modello: Fornisce strumenti per comprimere i modelli al fine di ridurne l'impronta 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, visita la documentazione ufficiale di CoreML.

Link to this sectionPosso eseguire l'inferenza direttamente con il modello CoreML esportato?#

Sì, puoi eseguire l'inferenza direttamente utilizzando il modello CoreML esportato. Di seguito sono riportati i comandi per Python e CLI:

Esecuzione dell'inferenza
from ultralytics import YOLO

coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")

Per ulteriori informazioni, consulta la sezione Utilizzo della guida all'esportazione CoreML.

Commenti