Vai al contenuto

YOLOv8 🚀 su AzureML

Che cos'è Azure?

Azure è la piattaforma di cloud computing di Microsoft, progettata per aiutare le aziende a spostare i carichi di lavoro nel cloud dai data center on-premises. Grazie all'intera gamma di servizi cloud, tra cui quelli per l'elaborazione, i database, l'analisi, l'apprendimento automatico e il networking, gli utenti possono scegliere tra questi servizi per sviluppare e scalare nuove applicazioni o eseguire quelle esistenti nel cloud pubblico.

Che cos'è Azure Machine Learning (AzureML)?

Azure Machine Learning, comunemente chiamato AzureML, è un servizio cloud completamente gestito che consente a data scientist e sviluppatori di incorporare in modo efficiente l'analisi predittiva nelle loro applicazioni, aiutando le organizzazioni a utilizzare set di dati enormi e a portare tutti i vantaggi del cloud all'apprendimento automatico. AzureML offre una serie di servizi e funzionalità volte a rendere l'apprendimento automatico accessibile, facile da usare e scalabile. Fornisce funzionalità come l'apprendimento automatico, l'addestramento drag-and-drop dei modelli e un solido SDK Python per consentire agli sviluppatori di sfruttare al meglio i loro modelli di apprendimento automatico.

In che modo AzureML è utile agli utenti di YOLO ?

Per gli utenti di YOLO (You Only Look Once), AzureML offre una piattaforma robusta, scalabile ed efficiente per addestrare e distribuire modelli di apprendimento automatico. Sia che tu voglia eseguire prototipi veloci o scalare per gestire dati più ampi, l'ambiente flessibile e facile da usare di AzureML offre diversi strumenti e servizi per soddisfare le tue esigenze. Puoi sfruttare AzureML per:

  • Gestisci facilmente grandi set di dati e risorse di calcolo per la formazione.
  • Utilizza gli strumenti integrati per la preelaborazione dei dati, la selezione delle caratteristiche e la formazione dei modelli.
  • Collaborare in modo più efficiente con le funzionalità di MLOps (Machine Learning Operations), tra cui, ma non solo, il monitoraggio, l'auditing e il versioning di modelli e dati.

Nelle sezioni successive troverai una guida rapida che spiega come eseguire i modelli di rilevamento degli oggetti di YOLOv8 utilizzando AzureML, sia da un terminale di calcolo che da un notebook.

Prerequisiti

Prima di iniziare, assicurati di avere accesso a uno spazio di lavoro AzureML. Se non ne hai uno, puoi creare un nuovo spazio di lavoro AzureML seguendo la documentazione ufficiale di Azure. Questo spazio di lavoro funge da luogo centralizzato per gestire tutte le risorse AzureML.

Crea un'istanza di calcolo

Dall'area di lavoro AzureML, seleziona Compute > Istanze di calcolo > Nuova, seleziona l'istanza con le risorse necessarie.

Creare un'istanza di calcolo Azure

Avvio rapido da terminale

Avvia il computer e apri il Terminale:

Terminale aperto

Crea virtualenv

Crea il tuo virtualenv conda e installa pip al suo interno:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y

Installa le dipendenze necessarie:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Esegui le attività di YOLOv8

Previsione:

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Addestra un modello di rilevamento per 10 epoche con un tasso_di_apprendimento iniziale di 0,01:

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Puoi trovare ulteriori istruzioni per utilizzare il sito Ultralytics CLI qui.

Avvio rapido da un quaderno

Crea un nuovo kernel IPython

Apri il Terminale di calcolo.

Terminale aperto

Dal tuo terminale di calcolo, devi creare un nuovo ipykernel che sarà utilizzato dal tuo notebook per gestire le dipendenze:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolov8env --display-name "yolov8env"

Chiudi il terminale e crea un nuovo blocco note. Dal tuo blocco note, puoi selezionare il nuovo kernel.

Quindi puoi aprire una cella di Notebook e installare le dipendenze necessarie:

%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Si noti che è necessario utilizzare l'opzione source activate yolov8env per tutte le celle %%bash, per assicurarci che la cella %%bash utilizzi l'ambiente che desideriamo.

Esegui alcune previsioni utilizzando il metodo Ultralytics CLI:

%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Oppure con l'interfacciaUltralytics Python , ad esempio per addestrare il modello:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official YOLOv8n model

# Use the model
model.train(data="coco8.yaml", epochs=3)  # train the model
metrics = model.val()  # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
path = model.export(format="onnx")  # export the model to ONNX format

Puoi utilizzare l'interfaccia Ultralytics CLI o Python per eseguire i compiti di YOLOv8 , come descritto nella sezione del terminale.

Seguendo questi passaggi, dovresti essere in grado di far funzionare rapidamente YOLOv8 su AzureML per fare delle prove veloci. Per usi più avanzati, puoi consultare la documentazione completa di AzureML linkata all'inizio di questa guida.

Esplora di più con AzureML

Questa guida è un'introduzione che ti permetterà di iniziare a lavorare con YOLOv8 su AzureML. Tuttavia, essa non fa altro che scalfire la superficie di ciò che AzureML può offrire. Per approfondire e sbloccare tutto il potenziale di AzureML per i tuoi progetti di apprendimento automatico, considera di esplorare le seguenti risorse:

DOMANDE FREQUENTI

Come si esegue YOLOv8 su AzureML per l'addestramento del modello?

L'esecuzione di YOLOv8 su AzureML per l'addestramento dei modelli comporta diversi passaggi:

  1. Crea un'istanza di calcolo: Dall'area di lavoro AzureML, vai su Compute > Istanze di calcolo > Nuova e seleziona l'istanza desiderata.

  2. Configura l'ambiente: Avvia la tua istanza di calcolo, apri un terminale e crea un ambiente conda:

    conda create --name yolov8env -y
    conda activate yolov8env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. Esegui le attività di YOLOv8 : Utilizza Ultralytics CLI per addestrare il tuo modello:

    yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01
    

Per maggiori dettagli, puoi consultare le istruzioni per l'uso di Ultralytics CLI .

Quali sono i vantaggi dell'utilizzo di AzureML per la formazione su YOLOv8 ?

AzureML fornisce un ecosistema robusto ed efficiente per l'addestramento dei modelli di YOLOv8 :

  • Scalabilità: Scalare facilmente le risorse di calcolo con l'aumentare della complessità dei dati e dei modelli.
  • Integrazione MLOps: Utilizza funzioni come il versioning, il monitoraggio e l'auditing per ottimizzare le operazioni di ML.
  • Collaborazione: Condividi e gestisci le risorse all'interno dei team, migliorando i flussi di lavoro collaborativi.

Questi vantaggi rendono AzureML una piattaforma ideale per progetti che vanno dai prototipi veloci alle implementazioni su larga scala. Per ulteriori suggerimenti, dai un'occhiata a AzureML Jobs.

Come si risolvono i problemi più comuni quando si esegue YOLOv8 su AzureML?

La risoluzione di problemi comuni con YOLOv8 su AzureML può comportare i seguenti passaggi:

  • Problemi di dipendenza: Assicurati che tutti i pacchetti richiesti siano installati. Consulta la sezione requirements.txt per le dipendenze.
  • Configurazione dell'ambiente: Verifica che l'ambiente conda sia attivato correttamente prima di eseguire i comandi.
  • Allocazione delle risorse: Assicurati che le istanze di calcolo abbiano risorse sufficienti per gestire il carico di lavoro della formazione.

Per ulteriori indicazioni, consulta la nostra documentazione sui problemi comuni diYOLO .

Posso utilizzare sia l'interfaccia Ultralytics CLI che Python su AzureML?

Sì, AzureML ti permette di utilizzare sia l'interfaccia di Ultralytics CLI che quella di Python senza problemi:

  • CLI: Ideale per attività rapide e per l'esecuzione di script standard direttamente dal terminale.

    yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Python Interfaccia: Utile per le attività più complesse che richiedono una codifica personalizzata e l'integrazione all'interno dei notebook.

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Per istruzioni più dettagliate, consulta le guide di avvio rapido qui e qui.

Qual è il vantaggio di utilizzare Ultralytics YOLOv8 rispetto ad altri modelli di rilevamento degli oggetti?

Ultralytics YOLOv8 offre diversi vantaggi unici rispetto ai modelli di rilevamento degli oggetti concorrenti:

  • Velocità: Tempi di inferenza e formazione più rapidi rispetto a modelli come Faster R-CNN e SSD.
  • Precisione: elevata precisione nei compiti di rilevamento grazie a caratteristiche come il design privo di ancoraggi e le strategie di incremento migliorate.
  • Facilità d'uso: API e CLI intuitivi per una rapida configurazione, che lo rendono accessibile sia ai principianti che agli esperti.

Per saperne di più sulle caratteristiche di YOLOv8, visita la pagina Ultralytics YOLO per avere informazioni dettagliate.



Creato 2023-11-12, Aggiornato 2024-07-05
Autori: glenn-jocher (5), ouphi (1)

Commenti