YOLO11 🚀 su AzureML
Cos'è Azure?
Azure è la piattaforma di cloud computing di Microsoft, progettata per aiutare le organizzazioni a spostare i propri carichi di lavoro nel cloud dai data center on-premise. Grazie alla gamma completa di servizi cloud, inclusi quelli per il calcolo, i database, l'analisi, il machine learning e il networking, gli utenti possono scegliere tra questi servizi per sviluppare e scalare nuove applicazioni o eseguire applicazioni esistenti nel cloud pubblico.
Cos'è Azure Machine Learning (AzureML)?
Azure Machine Learning, comunemente indicato come AzureML, è un servizio cloud completamente gestito che consente a data scientist e sviluppatori di integrare in modo efficiente l'analisi predittiva nelle loro applicazioni, aiutando le organizzazioni a utilizzare set di dati massicci e a sfruttare tutti i vantaggi del cloud per il machine learning. AzureML offre una varietà di servizi e funzionalità volti a rendere il machine learning accessibile, facile da usare e scalabile. Fornisce funzionalità come il machine learning automatizzato, la formazione di modelli drag-and-drop, nonché un robusto SDK python in modo che gli sviluppatori possano sfruttare al meglio i loro modelli di machine learning.
In che modo AzureML avvantaggia gli utenti YOLO?
Per gli utenti di YOLO (You Only Look Once), AzureML fornisce una piattaforma solida, scalabile ed efficiente sia per addestrare che per distribuire modelli di machine learning. Che tu stia cercando di eseguire prototipi rapidi o di scalare per gestire dati più estesi, l'ambiente flessibile e intuitivo di AzureML offre vari strumenti e servizi per soddisfare le tue esigenze. Puoi sfruttare AzureML per:
- Gestisci facilmente grandi set di dati e risorse computazionali per l'addestramento.
- Utilizza strumenti integrati per la preelaborazione dei dati, la selezione delle caratteristiche e l'addestramento del modello.
- Collabora in modo più efficiente con funzionalità per MLOps (Machine Learning Operations), tra cui, a titolo esemplificativo, il monitoraggio, l'audit e il controllo delle versioni di modelli e dati.
Nelle sezioni successive, troverai una guida rapida che spiega in dettaglio come eseguire i modelli di rilevamento oggetti YOLO11 utilizzando AzureML, da un terminale di calcolo o da un notebook.
Prerequisiti
Prima di iniziare, assicurati di avere accesso a un'area di lavoro AzureML. Se non ne hai una, puoi creare una nuova area di lavoro AzureML seguendo la documentazione ufficiale di Azure. Questa area di lavoro funge da luogo centralizzato per gestire tutte le risorse AzureML.
Crea un'istanza di calcolo
Dalla tua area di lavoro AzureML, seleziona Compute > Istanze di calcolo > Nuovo, seleziona l'istanza con le risorse di cui hai bisogno.
Guida rapida dal terminale
Avvia il tuo ambiente di calcolo e apri un terminale:
Crea virtualenv
Crea il tuo virtualenv conda con la tua versione di python preferita e installa pip al suo interno: Python 3.13.1 sta avendo alcuni problemi con alcune dipendenze in AzureML.
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
Installa le dipendenze richieste:
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Esegui attività YOLO11
Prevedi:
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Addestra un modello di rilevamento per 10 epoche con un learning_rate iniziale di 0.01:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Puoi trovare maggiori istruzioni per usare la CLI di Ultralytics qui.
Guida rapida da un notebook
Crea un nuovo kernel IPython
Apri il terminale di calcolo.
Dal tuo terminale di calcolo, devi creare un nuovo ipykernel (con una versione specifica di python - perché Python 3.13.1 sta avendo alcuni problemi con alcune dipendenze in AzureML) che verrà utilizzato dal tuo notebook per gestire le tue dipendenze:
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"
Chiudi il terminale e crea un nuovo notebook. Dal tuo Notebook, puoi selezionare il nuovo kernel.
Quindi puoi aprire una cella Notebook e installare le dipendenze richieste:
%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Si noti che dobbiamo usare il source activate yolo11env
per tutte le celle %%bash, per assicurarsi che la cella %%bash utilizzi l'ambiente desiderato.
Esegui alcune previsioni usando la CLI Ultralytics:
%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Oppure con l'interfaccia Python di Ultralytics, ad esempio per addestrare il modello:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official YOLO11n 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 CLI di Ultralytics o l'interfaccia Python per eseguire le attività YOLO11, come descritto nella sezione del terminale sopra.
Seguendo questi passaggi, dovresti essere in grado di far funzionare rapidamente YOLO11 su AzureML per prove rapide. Per usi più avanzati, è possibile fare riferimento alla documentazione completa di AzureML collegata all'inizio di questa guida.
Scopri di più con AzureML
Questa guida funge da introduzione per aiutarti ad avviare YOLO11 su AzureML. Tuttavia, affronta solo superficialmente ciò che AzureML può offrire. Per approfondire e sbloccare il pieno potenziale di AzureML per i tuoi progetti di machine learning, valuta l'esplorazione delle seguenti risorse:
- Crea un asset di dati: Scopri come impostare e gestire efficacemente i tuoi asset di dati all'interno dell'ambiente AzureML.
- Avviare un lavoro AzureML: Ottieni una comprensione completa di come avviare i tuoi lavori di training di machine learning su AzureML.
- Registra un modello: Familiarizza con le pratiche di gestione dei modelli, tra cui la registrazione, il versioning e il deployment.
- Addestra YOLO11 con AzureML python SDK: Esplora una guida dettagliata sull'utilizzo dell'AzureML python SDK per addestrare i tuoi modelli YOLO11.
- Addestra YOLO11 con AzureML CLI: Scopri come utilizzare l'interfaccia della riga di comando per l'addestramento e la gestione semplificati dei modelli YOLO11 su AzureML.
FAQ
Come posso eseguire YOLO11 su AzureML per l'addestramento del modello?
L'esecuzione di YOLO11 su AzureML per l'addestramento del modello prevede diversi passaggi:
-
Crea un'Istanza di Calcolo: Dalla tua area di lavoro AzureML, vai su Calcolo > Istanze di calcolo > Nuovo e seleziona l'istanza richiesta.
-
Configura l'ambiente: Avvia la tua istanza di calcolo, apri un terminale e crea un ambiente conda, e non dimenticare di impostare la tua versione python (python 3.13.1 non è ancora supportato):
conda create --name yolo11env -y python=3.12 conda activate yolo11env conda install pip -y pip install ultralytics onnx
-
Esegui attività YOLO11: Utilizza la CLI Ultralytics per addestrare il tuo modello:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Per maggiori dettagli, puoi consultare le istruzioni per l'uso della CLI Ultralytics.
Quali sono i vantaggi dell'utilizzo di AzureML per l'addestramento di YOLO11?
AzureML fornisce un ecosistema robusto ed efficiente per l'addestramento di modelli YOLO11:
- Scalabilità: Scala facilmente le tue risorse di calcolo man mano che i tuoi dati e la complessità del modello aumentano.
- Integrazione MLOps: Utilizza funzionalità come il controllo delle versioni, il monitoraggio e l'audit per semplificare 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 rapidi alle implementazioni su larga scala. Per ulteriori suggerimenti, consulta AzureML Jobs.
Come posso risolvere i problemi comuni quando eseguo YOLO11 su AzureML?
La risoluzione dei problemi comuni con YOLO11 su AzureML può comportare i seguenti passaggi:
- Problemi di dipendenza: Assicurati che tutti i pacchetti richiesti siano installati. Fare riferimento al
requirements.txt
file per le dipendenze. - Configurazione dell'ambiente: Verificare che l'ambiente conda sia attivato correttamente prima di eseguire i comandi.
- Allocazione delle risorse: Assicurati che le tue istanze di calcolo abbiano risorse sufficienti per gestire il carico di lavoro di training.
Per ulteriori indicazioni, consultare la nostra documentazione relativa ai problemi comuni di YOLO.
Posso utilizzare sia la CLI Ultralytics che l'interfaccia python su AzureML?
Sì, AzureML consente di utilizzare senza problemi sia la CLI di Ultralytics che l'interfaccia python:
-
CLI: Ideale per attività rapide ed esecuzione di script standard direttamente dal terminale.
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
-
Interfaccia python: Utile per attività più complesse che richiedono codifica personalizzata e integrazione all'interno dei notebook.
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="coco8.yaml", epochs=3)
Per istruzioni dettagliate, fare riferimento alla guida rapida della CLI e alla guida rapida di Python.
Qual è il vantaggio di utilizzare Ultralytics YOLO11 rispetto ad altri modelli di rilevamento oggetti?
Ultralytics YOLO11 offre diversi vantaggi unici rispetto ai modelli di rilevamento di oggetti concorrenti:
- Velocità: Tempi di inferenza e training più rapidi rispetto a modelli come Faster R-CNN e SSD.
- Precisione: Elevata precisione nelle attività di rilevamento con funzionalità come il design senza ancore e strategie di aumento dei dati avanzate.
- Facilità d'uso: API e CLI intuitive per una configurazione rapida, che lo rendono accessibile sia ai principianti che agli esperti.
Per saperne di più sulle funzionalità di YOLO11, visita la pagina Ultralytics YOLO per approfondimenti dettagliati.