YOLO Vision 2026:

Padroneggiare il deployment di YOLOv5 su una Deep Learning VM di Google Cloud Platform (GCP)#

Intraprendere il percorso dell'intelligenza artificiale (AI) e dell'apprendimento automatico (ML) può essere entusiasmante, soprattutto quando sfrutti la potenza e la flessibilità di una piattaforma di cloud computing. Google Cloud Platform (GCP) offre strumenti solidi, pensati tanto per gli appassionati quanto per i professionisti del ML. Uno di questi strumenti è la Deep Learning VM, preconfigurata per le attività di data science e ML. In questo tutorial, vedrai come configurare Ultralytics YOLOv5 su una GCP Deep Learning VM. Che tu stia muovendo i primi passi nel ML o sia un professionista esperto, questa guida ti offre un percorso chiaro per implementare modelli di rilevamento degli oggetti basati su YOLOv5.

🆓 Inoltre, se sei un nuovo utente di GCP, puoi approfittare di un'offerta di 300 $ di credito gratuito per dare il via ai tuoi progetti.

Oltre a GCP, esplora altre opzioni accessibili per iniziare rapidamente a usare YOLOv5, come il nostro Notebook Google Colab Open In Colab per un'esperienza basata sul browser o la scalabilità di Amazon AWS. Inoltre, gli appassionati di container possono utilizzare la nostra immagine Docker ufficiale disponibile su Docker Hub Docker Pulls per un ambiente isolato, seguendo la nostra Guida introduttiva a Docker.

Passaggio 1: crea e configura la tua Deep Learning VM#

Iniziamo creando una macchina virtuale ottimizzata per il deep learning:

  1. Vai al marketplace di GCP e seleziona la Deep Learning VM.
  2. Scegli un'istanza n1-standard-8: offre un equilibrio tra 8 vCPU e 30 GB di memoria, adatto a molte attività di ML.
  3. Seleziona una GPU. La scelta dipende dal tuo carico di lavoro; anche una GPU T4 di base accelererà notevolmente l'addestramento del modello.
  4. Seleziona la casella «Install NVIDIA GPU driver automatically on first startup?» per una configurazione senza problemi.
  5. Assegna un Persistent Disk SSD da 300 GB per evitare colli di bottiglia nelle operazioni di I/O.
  6. Fai clic su «Deploy» e consenti a GCP di eseguire il provisioning della tua Deep Learning VM personalizzata.

Questa VM viene fornita con strumenti e framework essenziali già installati, tra cui la distribuzione Python Anaconda, che include comodamente molte dipendenze necessarie per YOLOv5.

Illustrazione del marketplace di GCP per la configurazione di una Deep Learning VM

Passaggio 2: prepara la VM per YOLOv5#

Dopo aver configurato l'ambiente, installiamo YOLOv5 e prepariamolo all'uso:

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install dependencies
pip install -r requirements.txt

Questa procedura di configurazione garantisce la disponibilità di un ambiente Python versione 3.8.0 o successiva e PyTorch 1.8 o successivo. I nostri script scaricano automaticamente modelli e dataset dall'ultima release di YOLOv5, semplificando l'avvio dell'addestramento del modello.

Passaggio 3: addestra e distribuisci i tuoi modelli YOLOv5#

Con la configurazione completata, puoi addestrare, convalidare, eseguire predizioni ed esportare con YOLOv5 sulla tua VM GCP:

# Train a YOLOv5 model on your dataset (e.g., yolov5s)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml

# Run inference using the trained model on images or videos
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite

Con pochi comandi, YOLOv5 ti consente di addestrare modelli personalizzati di rilevamento degli oggetti adattati alle tue esigenze specifiche o di utilizzare pesi preaddestrati per ottenere rapidamente risultati in varie attività. Dopo l'esportazione, esplora le diverse opzioni di deployment dei modelli.

Addestramento di un modello YOLOv5 su una VM GCP

Assegna spazio di swap (facoltativo)#

Se lavori con dataset particolarmente grandi che potrebbero superare la RAM della tua VM, valuta l'aggiunta di spazio di swap per prevenire gli errori di memoria:

# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile

# Set the correct permissions for the swap file
sudo chmod 600 /swapfile

# Set up the Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap space allocation (should show increased swap memory)
free -h

Addestramento di dataset personalizzati#

Per addestrare YOLOv5 sul tuo dataset personalizzato all'interno di GCP, segui questi passaggi generali:

  1. Prepara il dataset secondo il formato YOLOv5 (immagini e relativi file delle etichette). Consulta la nostra panoramica sui dataset per indicazioni.

  2. Carica il dataset sulla tua VM GCP usando gcloud compute scp o la funzionalità SSH della console web.

  3. Crea un file YAML di configurazione del dataset (custom_dataset.yaml) che specifichi i percorsi dei dati di addestramento e convalida, il numero di classi e i nomi delle classi.

  4. Avvia il processo di addestramento usando il file YAML del tuo dataset personalizzato e, se necessario, partendo da pesi preaddestrati:

    # Example: Train YOLOv5s on a custom dataset for 100 epochs
    python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt

Per istruzioni complete sulla preparazione dei dati e sull'addestramento con dataset personalizzati, consulta la documentazione Ultralytics YOLOv5 Train.

Sfruttare il cloud storage#

Per una gestione efficiente dei dati, soprattutto con dataset di grandi dimensioni o numerosi esperimenti, integra il tuo workflow YOLOv5 con Google Cloud Storage:

# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init

# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/

# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/

Questo approccio ti consente di archiviare nel cloud dataset di grandi dimensioni e modelli addestrati in modo sicuro ed economicamente vantaggioso, riducendo al minimo i requisiti di archiviazione della tua istanza VM.

Considerazioni finali#

Congratulazioni! Ora puoi sfruttare le funzionalità di Ultralytics YOLOv5 insieme alla potenza di calcolo di Google Cloud Platform. Questa configurazione offre scalabilità, efficienza e versatilità per i tuoi progetti di rilevamento degli oggetti. Che si tratti di esplorazione personale, ricerca accademica o sviluppo di soluzioni industriali, hai compiuto un passo importante nel mondo dell'AI e del ML nel cloud.

Valuta l'utilizzo di Ultralytics Platform per un'esperienza semplificata e senza codice, che ti permetta di addestrare e gestire i tuoi modelli.

Ricordati di documentare i tuoi progressi, condividere le tue intuizioni con la vivace community di Ultralytics e utilizzare risorse come le discussioni su GitHub per collaborazione e supporto. Ora vai e innova con YOLOv5 e GCP!

Vuoi continuare a migliorare le tue competenze in ML? Immergiti nella nostra documentazione ed esplora il blog di Ultralytics per altri tutorial e approfondimenti. Lascia che la tua avventura nell'AI continui!

Commenti