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 la rete, 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=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01

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

Avvio rapido da un notebook

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="coco128.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, 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:



Creato 2023-11-12, Aggiornato 2023-11-16
Autori: glenn-jocher (2), ouphi (1)

Commenti