YOLO Vision 2026:

Ultralytics YOLOv5 🚀 su AzureML Quickstart#

Benvenuto nella guida di avvio rapido di Ultralytics YOLOv5 per Microsoft Azure Machine Learning (AzureML)! Questa guida ti guiderà attraverso la configurazione di YOLOv5 su un'istanza di calcolo AzureML, coprendo tutto, dalla creazione di un ambiente virtuale all'addestramento e all'esecuzione dell'inferenza con il modello.

Cos'è Azure?#

Azure è la completa piattaforma di cloud computing di Microsoft. Offre una vasta gamma di servizi, tra cui potenza di calcolo, database, strumenti di analisi, capacità di machine learning e soluzioni di networking. 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.

Cos'è Azure Machine Learning (AzureML)?#

Azure Machine Learning (AzureML) è un servizio cloud specializzato progettato per lo sviluppo, l'addestramento e la distribuzione di modelli di machine learning. Offre un ambiente collaborativo con strumenti adatti a data scientist e sviluppatori di tutti i livelli di abilità. Le caratteristiche principali includono 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 sul ciclo di vita del machine learning. AzureML semplifica il processo di integrazione della modellazione predittiva nelle applicazioni.

Prerequisiti#

Per seguire questa guida, avrai bisogno di un abbonamento Azure subscription attivo e dell'accesso a un AzureML workspace. Se non hai configurato un workspace, fai riferimento alla documentazione ufficiale di Azure per crearne uno.

Creare un'istanza di calcolo#

Un'istanza di calcolo in AzureML fornisce una workstation gestita basata su cloud per i data scientist.

  1. Vai alla tua area di lavoro AzureML.
  2. Nel riquadro sinistro, seleziona Compute.
  3. Vai alla scheda Compute instances e clicca su New.
  4. Configura la tua istanza selezionando le risorse CPU o GPU appropriate in base alle tue esigenze di addestramento o inferenza.
Azure ML create compute instance interface

Aprire un terminale#

Una volta che la tua istanza di calcolo è in esecuzione, puoi accedere al suo terminale direttamente da AzureML studio.

  1. Vai alla sezione Notebooks nel riquadro sinistro.
  2. Trova la tua istanza di calcolo nel menu a tendina in alto.
  3. Clicca sull'opzione Terminal sotto il browser di file per aprire un'interfaccia a riga di comando per la tua istanza.

Azure ML open terminal button location

Configurare ed eseguire YOLOv5#

Ora, configuriamo l'ambiente ed eseguiamo Ultralytics YOLOv5.

Creare un ambiente virtuale#

È una best practice utilizzare un ambiente virtuale per gestire le dipendenze. Useremo Conda, che è preinstallato sulle istanze di calcolo AzureML. Per una guida dettagliata sulla configurazione di Conda, consulta la Guida di avvio rapido di 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 installed

Clonare il repository YOLOv5#

Clona 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

Installare le dipendenze#

Installa i pacchetti Python necessari elencati nel file requirements.txt. 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

Eseguire le attività di YOLOv5#

Con la configurazione completata, ora puoi addestrare, validare, eseguire l'inferenza ed esportare il tuo modello YOLOv5.

  • Addestra il modello su un set di dati come COCO128. Consulta la documentazione sulla 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 sulla Modalità di validazione 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 sulla Modalità di predizione per varie fonti di inferenza.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • Esporta il modello in formati diversi come ONNX, TensorRT o CoreML per la distribuzione. Fai riferimento alla guida sulla Modalità di esportazione e alla pagina sull'Integrazione ONNX.

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

Utilizzare un notebook#

Se preferisci un'esperienza interattiva, puoi eseguire questi comandi all'interno di un Notebook di AzureML. Dovrai creare un IPython kernel personalizzato collegato al tuo ambiente Conda.

Creare 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 file di notebook .ipynb, seleziona il tuo nuovo kernel ("Python (yolov5env)") dal menu a tendina del kernel in alto a destra.

Eseguire comandi nelle celle del notebook#

  • Celle Python: Il codice nelle celle Python verrà eseguito automaticamente utilizzando il kernel yolov5env selezionato.

  • Celle Bash: Per eseguire i comandi della shell, usa il comando magico %%bash all'inizio della cella. Ricordati di attivare il tuo ambiente Conda all'interno di ciascuna 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! Hai configurato ed eseguito con successo Ultralytics YOLOv5 su AzureML. Per ulteriori esplorazioni, prendi in considerazione di consultare altre Integrazioni di Ultralytics o la dettagliata documentazione di YOLOv5. Potresti anche trovare utile la documentazione di AzureML per scenari avanzati come l'addestramento distribuito o la distribuzione di modelli come endpoint.

Commenti