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 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
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:
- Vai al marketplace di GCP e seleziona la Deep Learning VM.
- Scegli un'istanza n1-standard-8: offre un equilibrio tra 8 vCPU e 30 GB di memoria, adatto a molte attività di ML.
- Seleziona una GPU. La scelta dipende dal tuo carico di lavoro; anche una GPU T4 di base accelererà notevolmente l'addestramento del modello.
- Seleziona la casella «Install NVIDIA GPU driver automatically on first startup?» per una configurazione senza problemi.
- Assegna un Persistent Disk SSD da 300 GB per evitare colli di bottiglia nelle operazioni di I/O.
- 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.

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.txtQuesta 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 tfliteCon 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.

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 -hAddestramento di dataset personalizzati#
Per addestrare YOLOv5 sul tuo dataset personalizzato all'interno di GCP, segui questi passaggi generali:
-
Prepara il dataset secondo il formato YOLOv5 (immagini e relativi file delle etichette). Consulta la nostra panoramica sui dataset per indicazioni.
-
Carica il dataset sulla tua VM GCP usando
gcloud compute scpo la funzionalità SSH della console web. -
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. -
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!