Ultralytics YOLOv5 🚀 su Guida rapida AzureML
Benvenuto nella guida rapida di Ultralytics YOLOv5 per Microsoft Azure Machine Learning (AzureML)! Questa guida ti accompagnerà nella configurazione di YOLOv5 su un'istanza di calcolo AzureML, coprendo tutto, dalla creazione di un ambiente virtuale al training e all'esecuzione dell'inferenza con il modello.
Che cos'è Azure?
Azure è la piattaforma completa di cloud computing di Microsoft. Offre una vasta 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 on-premises 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 tutti i livelli di competenza. Le caratteristiche principali includono machine learning automatizzato (AutoML), un'interfaccia drag-and-drop per la creazione di modelli e un potente SDK Python per un controllo più granulare sul ciclo di vita dell'ML. AzureML semplifica il processo di integrazione della modellazione predittiva nelle applicazioni.
Prerequisiti
Per seguire questa guida, avrai bisogno di un abbonamento Azure attivo e dell'accesso a un workspace AzureML. Se non hai ancora configurato un workspace, fai riferimento alla documentazione ufficiale di Azure per crearne uno.
Crea un'istanza di calcolo
Un'istanza di calcolo in AzureML fornisce una workstation gestita basata su cloud per i data scientist.
- Vai al tuo spazio 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 training o inferenza.
Aprire un terminale
Una volta che l'istanza di calcolo è in esecuzione, puoi accedere al suo terminale direttamente da AzureML Studio.
- Vai alla sezione Notebooks nel riquadro a sinistra.
- Trova la tua istanza di calcolo nel menu a tendina in alto.
- Fai clic sull'opzione Terminal sotto il file browser per aprire un'interfaccia a riga di comando per la tua istanza.
Configurazione ed esecuzione di YOLOv5
Ora, configuriamo l'ambiente ed eseguiamo Ultralytics YOLOv5.
1. Crea un ambiente virtuale
È consigliabile utilizzare un ambiente virtuale per gestire le dipendenze. Useremo Conda, che è preinstallato sulle istanze di calcolo AzureML. Per una guida dettagliata alla configurazione di Conda, consultare la Guida rapida di Ultralytics su Conda.
Crea un ambiente Conda (ad esempio, yolov5env
) con una specifica versione 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 installed
2. 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 --recursive
3. Installa le dipendenze
Installa i pacchetti Python necessari elencati nel requirements.txt
file. Installiamo anche ONNX per le funzionalità di esportazione del modello.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Esegui le attività di YOLOv5
Una volta completata la configurazione, è possibile addestrare, convalidare, eseguire l'inferenza ed esportare il modello YOLOv5.
-
Addestra il modello su un dataset come COCO128. Consulta la documentazione della Modalità di addestramento per maggiori 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
-
Valida le prestazioni del modello addestrato utilizzando metriche come Precision, Recall e mAP. Consulta la guida alla Modalità di convalida per le opzioni.
# 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. Esplora la documentazione della Modalità di previsione per varie sorgenti 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 il deployment. Consulta la guida alla Modalità di esportazione e la pagina sull'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.
Crea un nuovo kernel IPython
Esegui i seguenti comandi nel terminale della tua istanza di calcolo:
# 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 .ipynb
file notebook, seleziona il tuo nuovo kernel ("Python (yolov5env)") dal menu a tendina del kernel in alto a destra.
Esecuzione di comandi nelle celle del notebook
-
Celle Python: Il codice nelle celle Python verrà eseguito automaticamente utilizzando quello selezionato
yolov5env
kernel. -
Celle Bash: Per eseguire comandi shell, usa il comando
%%bash
comando magic all'inizio della cella. Ricorda di attivare il tuo ambiente Conda all'interno di ogni cella bash, poiché 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 con successo Ultralytics YOLOv5 su AzureML. Per ulteriori approfondimenti, valuta la possibilità di consultare altre Integrazioni Ultralytics o la documentazione dettagliata di YOLOv5. Potresti anche trovare utile la documentazione di AzureML per scenari avanzati come il training distribuito o il deployment del modello come endpoint.