Ultralytics YOLOv5 🚀 su AzureML Quickstart
Benvenuti in Ultralytics YOLOv5 per Microsoft Azure Machine Learning (AzureML)! Questa guida vi guiderà nella configurazione di YOLOv5 su un'istanza di calcolo AzureML, dalla creazione di un ambiente virtuale alla formazione 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 apprendimento automatico e soluzioni di rete. Azure consente alle aziende di creare, distribuire e gestire applicazioni e servizi attraverso i data center Microsoft, facilitando la migrazione dei carichi di lavoro dall'infrastruttura on-premise al cloud.
Che cos'è Azure Machine Learning (AzureML)?
Azure Machine Learning (AzureML) è un servizio cloud specializzato progettato per sviluppare, addestrare e distribuire modelli di apprendimento automatico. Offre un ambiente collaborativo con strumenti adatti a data scientist e sviluppatori di qualsiasi livello. Le caratteristiche principali includono l'apprendimento automatico delle macchine (AutoML), un'interfaccia drag-and-drop per la creazione di modelli e un potente Python Python per un controllo più granulare del ciclo di vita del ML. AzureML semplifica il processo di incorporazione della modellazione predittiva nelle applicazioni.
Prerequisiti
Per seguire questa guida, è necessario avere un abbonamento Azure attivo e l'accesso a un workspace AzureML. Se non si dispone di un workspace, consultare la documentazione ufficiale di Azure per crearne uno.
Creare un'istanza di calcolo
Un'istanza di calcolo in AzureML fornisce una workstation gestita basata sul cloud per i data scientist.
- Navigare nell'area di lavoro AzureML.
- Nel riquadro di sinistra, selezionare Calcolo.
- Passare alla scheda Istanze di calcolo e fare clic su Nuovo.
- Configurare l'istanza selezionando la CPU o la GPU appropriata. GPU in base alle proprie esigenze di formazione o inferenza.
Aprire un terminale
Una volta che l'istanza di calcolo è in esecuzione, è possibile accedere al suo terminale direttamente dallo studio AzureML.
- Andare alla sezione Quaderni nel riquadro di sinistra.
- Individuare l'istanza di calcolo nel menu a discesa superiore.
- Fare clic sull'opzione Terminale sotto il browser dei file per aprire un'interfaccia a riga di comando dell'istanza.
Configurazione ed esecuzione di YOLOv5
Ora configuriamo l'ambiente ed eseguiamo Ultralytics YOLOv5.
1. Creare un ambiente virtuale
È buona norma utilizzare un ambiente virtuale per gestire le dipendenze. Utilizzeremo Conda, che è preinstallato sulle istanze di calcolo AzureML. Per una guida dettagliata alla configurazione di Conda, consultare la Ultralytics Conda Quickstart Guide.
Creare un ambiente Conda (ad es, yolov5env
) con una specifica versione di Python e attivarla:
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. Clonare il repository YOLOv5
Clonare il repository ufficiale di 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. Installare le dipendenze
Installate i pacchetti Python necessari elencati nel file requirements.txt
file. Installiamo anche ONNX per le funzionalità di esportazione dei modelli.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Eseguire le attività YOLOv5
Una volta completata la configurazione, è possibile addestrare, convalidare, eseguire l'inferenza ed esportare il modello YOLOv5 .
-
Addestrare il modello su un set di dati come COCO128. Per maggiori dettagli, consultare la documentazione sulla modalità di addestramento.
# 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
-
Convalidare le prestazioni del modello addestrato utilizzando metriche come Precision, Recall e mAP. Per le opzioni, consultare la guida alla modalità di convalida.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640
-
Eseguire l'inferenza su nuove immagini o video. Esplorate la documentazione sulla modalità di predizione per le varie fonti di inferenza.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640
-
Esportare il modello in diversi formati come ONNX, TensorRTo CoreML per la distribuzione. Fare riferimento alla guida Modalità di esportazione e alla pagina IntegrazioneONNX .
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Utilizzo di un taccuino
Se si preferisce un'esperienza interattiva, è possibile eseguire questi comandi all'interno di un AzureML Notebook. È necessario creare un kernel IPython personalizzato collegato all'ambiente Conda.
Creare un nuovo kernel IPython
Eseguire i seguenti comandi nel terminale dell'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, aggiornare il browser. Quando si apre o si crea un file .ipynb
selezionare il nuovo kernel (Python (yolov5env)") dal menu a tendina del kernel in alto a destra.
Esecuzione di comandi nelle celle del blocco note
-
Cellule di Python : Il codice nelle celle Python verrà eseguito automaticamente utilizzando il codice selezionato.
yolov5env
kernel. -
Cellule Bash : Per eseguire comandi di shell, utilizzare il comando
%%bash
all'inizio della cella. Ricordate di attivare l'ambiente Conda all'interno di ogni cella bash , poiché non ereditano automaticamente il contesto dell'ambiente del 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! Avete configurato ed eseguito con successo Ultralytics YOLOv5 su AzureML. Per ulteriori approfondimenti, si consiglia di consultare le altre integrazioniUltralytics o la documentazione dettagliata diYOLOv5 . La documentazione di AzureML può essere utile anche per scenari avanzati come la formazione distribuita o la distribuzione dei modelli come endpoint.