Guida introduttiva a Ultralytics YOLOv5 🚀 su AzureML#
Benvenuto nella guida introduttiva di Ultralytics YOLOv5 per Microsoft Azure Machine Learning (AzureML)! Questa guida ti accompagnerà nella configurazione di YOLOv5 su un'istanza di elaborazione AzureML, dalla creazione di un ambiente virtuale fino all'addestramento e all'esecuzione dell'inferenza con il modello.
Che cos'è Azure?#
Azure è la piattaforma completa di cloud computing di Microsoft. Offre un'ampia gamma di servizi, tra cui potenza di calcolo, database, strumenti di analisi, funzionalità di machine learning e soluzioni di rete. Azure consente alle organizzazioni di creare, distribuire e gestire applicazioni e servizi tramite data center gestiti da Microsoft, facilitando la migrazione dei carichi di lavoro dall'infrastruttura locale al cloud.
Che cos'è Azure Machine Learning (AzureML)?#
Azure Machine Learning (AzureML) è un servizio cloud specializzato progettato per sviluppare, addestrare e distribuire modelli di machine learning. Fornisce un ambiente collaborativo con strumenti adatti a data scientist e sviluppatori di ogni livello di esperienza. Tra le funzionalità principali figurano il machine learning automatizzato (AutoML), un'interfaccia drag-and-drop per la creazione di modelli e un potente SDK Python per un controllo più granulare del ciclo di vita del ML. AzureML semplifica l'integrazione della [modellazione predittiva](https://ultralytics-translation-3.invalid nelle applicazioni.
Prerequisiti#
Per seguire questa guida, ti servono un'sottoscrizione Azure attiva e l'accesso a un'area di lavoro AzureML. Se non hai ancora configurato un'area di lavoro, consulta la documentazione ufficiale di Azure per crearne una.
Creare un'istanza di elaborazione#
Un'istanza di elaborazione in AzureML fornisce una workstation cloud gestita per i data scientist.
- Passa alla tua area di lavoro AzureML.
- Nel riquadro a sinistra, seleziona Compute.
- Vai alla scheda Compute instances e fai clic su New.
- Configura la tua istanza selezionando le risorse GPU o CPU appropriate in base alle tue esigenze di addestramento o inferenza.
Apri un terminale#
Quando l'istanza di elaborazione è in esecuzione, puoi accedere direttamente al suo terminale da AzureML Studio.
- Vai alla sezione Notebooks nel riquadro a sinistra.
- Trova la tua istanza di elaborazione nel menu a discesa in alto.
- Fai clic sull'opzione Terminal sotto il browser dei file per aprire un'interfaccia a riga di comando per la tua istanza.

Configura ed esegui YOLOv5#
Ora configuriamo l'ambiente ed eseguiamo Ultralytics YOLOv5.
1. Crea un ambiente virtuale#
È buona pratica usare un ambiente virtuale per gestire le dipendenze. Useremo Conda, preinstallato nelle istanze di elaborazione AzureML. Per una guida dettagliata alla configurazione di Conda, consulta la Guida introduttiva a Conda di Ultralytics.
Crea un ambiente Conda (ad esempio, yolov5env) con una versione specifica di Python e attivalo:
conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env # Activate the environment
conda install pip -y # Ensure pip is installed2. Clona il repository YOLOv5#
Clona il repository ufficiale Ultralytics YOLOv5 da GitHub usando Git:
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive3. Installa le dipendenze#
Installa i pacchetti Python necessari elencati nel file requirements.txt. Installiamo anche ONNX per poter esportare i modelli.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exporting4. Esegui le attività di YOLOv5#
Completata la configurazione, puoi addestrare, convalidare, eseguire l'inferenza ed esportare il tuo modello YOLOv5.
-
Addestra il modello su un dataset come COCO128. Consulta la documentazione della Modalità di addestramento per ulteriori dettagli.
# Start training using yolov5s pretrained weights on the COCO128 dataset python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16 -
Convalida le prestazioni del modello addestrato usando metriche come Precision, Recall e mAP. Consulta la guida della Modalità di convalida per le opzioni disponibili.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Esegui l'inferenza su nuove immagini o video. Consulta la documentazione della Modalità di predizione per scoprire le diverse origini dei dati di inferenza.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640 -
Esporta il modello in diversi formati, come ONNX, TensorRT o CoreML, per la distribuzione. Consulta la guida della Modalità di esportazione e la pagina Integrazione ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Utilizzo di un Notebook#
Se preferisci un'esperienza interattiva, puoi eseguire questi comandi all'interno di un Notebook AzureML. Dovrai creare un kernel IPython personalizzato collegato al tuo ambiente Conda.
Creare un nuovo kernel IPython#
Esegui i seguenti comandi nel terminale della tua istanza di elaborazione:
# Ensure your Conda environment is active
# conda activate yolov5env
# Install ipykernel if not already present
conda install ipykernel -y
# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"Dopo aver creato il kernel, aggiorna il browser. Quando apri o crei un file Notebook .ipynb, seleziona il nuovo kernel ("Python (yolov5env)") dal menu a discesa dei kernel in alto a destra.
Esecuzione di comandi nelle celle del Notebook#
-
Celle Python: il codice nelle celle Python verrà eseguito automaticamente usando il kernel
yolov5envselezionato. -
Celle Bash: per eseguire comandi shell, usa il comando magico
%%bashall'inizio della cella. Ricorda di attivare l'ambiente Conda in ogni cella Bash, poiché le celle non ereditano automaticamente il contesto dell'ambiente kernel del Notebook.%%bash source activate yolov5env # Activate environment within the cell # Example: Run validation using the activated environment python val.py --weights yolov5s.pt --data coco128.yaml --img 640
Congratulazioni! Hai configurato ed eseguito correttamente Ultralytics YOLOv5 su AzureML. Per approfondire, puoi consultare altre integrazioni Ultralytics o la documentazione di YOLOv5 dettagliata. Potresti trovare utile anche la documentazione di AzureML per scenari avanzati come l'addestramento distribuito o la distribuzione del modello come endpoint.