Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Inizia

Guida introduttiva a Ultralytics YOLOv5 🚀 su AzureML

Questa guida illustra come configurare Ultralytics YOLOv5 su un'istanza di calcolo di Microsoft Azure Machine Learning (AzureML), dalla creazione di un ambiente virtuale fino all'addestramento e all'esecuzione dell'inferenza con il modello.

Che cos'è Azure?#

Azure è la piattaforma di cloud computing di Microsoft. Offre servizi che includono 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 i data center gestiti da Microsoft, agevolando 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. Offre un ambiente collaborativo con strumenti adatti a data scientist e sviluppatori di qualsiasi livello. Tra le funzionalità principali figurano il machine learning automatizzato (AutoML), un'interfaccia drag-and-drop per creare modelli e un SDK Python per un controllo più granulare del ciclo di vita ML. AzureML semplifica l'integrazione della modellazione predittiva nelle applicazioni.

Prerequisiti#

Per seguire questa guida, ti servono un'iscrizione 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 calcolo#

Un'istanza di calcolo in AzureML offre ai data scientist una workstation gestita basata sul cloud.

  1. Vai all'area di lavoro AzureML.
  2. Nel riquadro a sinistra, seleziona Calcolo.
  3. Vai alla scheda Istanze di calcolo e fai clic su Nuovo.
  4. Configura l'istanza selezionando le risorse CPU o GPU adatte alle tue esigenze di training o inferenza.
Azure ML create compute instance interface

Apri un terminale#

Quando l'istanza di calcolo è in esecuzione, puoi accedere direttamente al suo terminale da AzureML Studio.

  1. Vai alla sezione Notebook nel riquadro a sinistra.
  2. Trova la tua istanza di calcolo nel menu a discesa in alto.
  3. Fai clic sull'opzione Terminale sotto il browser dei file per aprire un'interfaccia a riga di comando per la tua istanza.

Posizione del pulsante per aprire il terminale in Azure ML

Configurare ed eseguire YOLOv5#

Quindi configura l'ambiente ed esegui Ultralytics YOLOv5.

1. Crea un ambiente virtuale#

È consigliabile usare un ambiente virtuale per gestire le dipendenze. Useremo Conda, preinstallato nelle istanze di calcolo 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 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

3. 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 exporting

4. Esegui le attività con YOLOv5#

Una volta completata la configurazione, puoi eseguire il training, la validazione, l'inferenza e l'esportazione del tuo modello YOLOv5.

  • Addestra il modello su un dataset come COCO128.

    # 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 sottoposto a training usando metriche come precisione, richiamo e mAP. Esegui python val.py --help per visualizzare tutte 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. Consulta la guida introduttiva a YOLOv5 per conoscere le origini dati supportate.

    # 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 il deployment. Consulta il tutorial Esportazione del modello e la pagina Integrazione ONNX.

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

Usare 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 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, 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.

Eseguire comandi nelle celle del notebook#

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

  • Celle Bash: Per eseguire comandi shell, usa il comando magico %%bash all'inizio della cella. Ricordati di attivare l'ambiente Conda in ogni cella bash, perché queste celle 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

Hai configurato ed eseguito Ultralytics YOLOv5 su AzureML. Potresti trovare utile anche la documentazione di AzureML per scenari avanzati come l'addestramento distribuito o la distribuzione di un modello come endpoint.

Domande frequenti#

  • Un'istanza CPU è sufficiente per l'inferenza e brevi test su COCO128, ma per il training vero e proprio serve una dimensione GPU. Seleziona una macchina virtuale GPU quando crei l'istanza di calcolo e verifica che PyTorch la rilevi con python -c "import torch; print(torch.cuda.is_available())".

  • Le celle Bash non ereditano l'ambiente del kernel del notebook. Inizia ogni cella %%bash con source activate yolov5env oppure esegui le celle Python con il kernel Python (yolov5env) che hai creato.

  • I file nella condivisione dei file dell'area di lavoro montata in ~/cloudfiles rimangono disponibili dopo l'arresto e sono visibili da altre istanze di calcolo. Tutto ciò che si trova altrove sul disco dell'istanza viene conservato finché l'istanza esiste, ma va perso se l'istanza viene eliminata.

  • Sì. pip install ultralytics ti offre l'addestramento, la convalida e l'esportazione di YOLO26 tramite la CLI yolo nello stesso ambiente Conda.

Commenti

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.