Padroneggiare il deployment di YOLOv5 su Deep Learning VM di Google Cloud Platform (GCP)
Intraprendere il viaggio nell'intelligenza artificiale (AI) e nel machine learning (ML) può essere entusiasmante, soprattutto quando sfrutti la potenza e la flessibilità di una piattaforma di cloud computing. Google Cloud Platform (GCP) offre strumenti robusti su misura per appassionati e professionisti del ML. Uno di questi strumenti è la Deep Learning VM, preconfigurata per le attività di data science e ML. In questo tutorial, vedremo il processo di configurazione di Ultralytics YOLOv5 su una GCP Deep Learning VM. Che tu stia muovendo i primi passi nel ML o che tu sia un professionista esperto, questa guida ti offre un percorso chiaro per implementare modelli di object detection basati su YOLOv5.
🆓 Inoltre, se sei un nuovo utente GCP, sei fortunato con un'offerta di $300 di credito gratuito per dare il via ai tuoi progetti.
Oltre a GCP, esplora altre opzioni di avvio rapido accessibili per YOLOv5, come il nostro Google Colab Notebook per un'esperienza basata su 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 incapsulato, seguendo la nostra Docker Quickstart Guide.
Passaggio 1: Crea e configura la tua Deep Learning VM
Iniziamo creando una macchina virtuale ottimizzata per il deep learning:
- Vai al GCP marketplace e seleziona la Deep Learning VM.
- Scegli un'istanza n1-standard-8; offre un bilanciamento 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à significativamente l'addestramento del modello.
- Spunta la casella 'Install NVIDIA GPU driver automatically on first startup?' per una configurazione senza intoppi.
- Assegna un SSD Persistent Disk da 300 GB per evitare colli di bottiglia nell'I/O.
- Fai clic su 'Deploy' e consenti a GCP di eseguire il provisioning della tua Deep Learning VM personalizzata.
Questa VM viene fornita pre-caricata con strumenti e framework essenziali, inclusa la distribuzione Python Anaconda, che raggruppa comodamente molte dipendenze necessarie per YOLOv5.

Passaggio 2: Prepara la VM per YOLOv5
Dopo aver configurato l'ambiente, installiamo YOLOv5 e prepariamolo:
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install dependencies
pip install -r requirements.txtQuesto processo di configurazione ti assicura di avere una versione dell'ambiente Python 3.8.0 o successiva e PyTorch 1.8 o successiva. I nostri script scaricano automaticamente modelli e dataset dall'ultima release di YOLOv5, semplificando il processo di avvio dell'addestramento del modello.
Passaggio 3: Addestra e distribuisci i tuoi modelli YOLOv5
Con la configurazione completata, sei pronto per addestrare, convalidare, predire 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 tfliteUtilizzando solo pochi comandi, YOLOv5 ti consente di addestrare modelli di object detection personalizzati su misura per le tue esigenze specifiche o di utilizzare pesi pre-addestrati per risultati rapidi in varie attività. Esplora diverse opzioni di deployment del modello dopo l'esportazione.

Assegna spazio di swap (opzionale)
Se stai lavorando con dataset particolarmente grandi che potrebbero superare la RAM della tua VM, considera l'aggiunta di spazio di swap per evitare 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 su dataset personalizzati
Per addestrare YOLOv5 sul tuo dataset personalizzato all'interno di GCP, segui questi passaggi generali:
-
Prepara il tuo dataset secondo il formato YOLOv5 (immagini e relativi file di etichetta). Vedi la nostra panoramica sui dataset per indicazioni.
-
Carica il tuo dataset sulla tua VM GCP utilizzando
gcloud compute scpo la funzionalità SSH della console web. -
Crea un file YAML di configurazione del dataset (
custom_dataset.yaml) che specifichi i percorsi verso i tuoi dati di addestramento e validazione, il numero di classi e i nomi delle classi. -
Inizia il processo di addestramento utilizzando il tuo YAML del dataset personalizzato e possibilmente partendo da pesi pre-addestrati:
# 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 sull'addestramento di Ultralytics YOLOv5.
Sfruttare Cloud Storage
Per una gestione efficiente dei dati, specialmente con dataset di grandi dimensioni o numerosi esperimenti, integra il tuo flusso di lavoro 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 dataset di grandi dimensioni e modelli addestrati in modo sicuro ed economico nel cloud, riducendo al minimo i requisiti di archiviazione sulla tua istanza VM.
Considerazioni conclusive
Congratulazioni! Ora sei pronto a sfruttare le capacità di Ultralytics YOLOv5 combinate con la potenza computazionale di Google Cloud Platform. Questa configurazione offre scalabilità, efficienza e versatilità per i tuoi progetti di object detection. Che sia per esplorazione personale, ricerca accademica o per costruire soluzioni industriali, hai fatto un passo significativo nel mondo dell'AI e del ML nel cloud.
Prendi in considerazione l'utilizzo di Ultralytics Platform per un'esperienza semplificata e senza codice per addestrare e gestire i tuoi modelli.
Ricordati di documentare i tuoi progressi, condividere le intuizioni con la vivace comunità Ultralytics e utilizzare risorse come le GitHub discussions per collaborazione e supporto. Ora, vai avanti e innova con YOLOv5 e GCP!
Vuoi continuare a migliorare le tue competenze di ML? Immergiti nella nostra documentazione ed esplora l'Ultralytics Blog per ulteriori tutorial e approfondimenti. Lascia che la tua avventura nell'AI continui!