Vai al contenuto

Padroneggiare la distribuzione di YOLOv5 su Google Cloud Platform (GCP) Deep Learning VM

Intraprendere il viaggio nell'intelligenza artificiale (IA) e nell'apprendimento automatico (ML) può essere entusiasmante, soprattutto quando si sfrutta la potenza e la flessibilità di una piattaforma di cloud computing. Google Cloud Platform (GCP) offre strumenti robusti su misura per appassionati e professionisti di ML. Uno di questi strumenti è Deep Learning VM, preconfigurato per attività di data science e ML. In questo tutorial, esamineremo il processo di configurazione di Ultralytics YOLOv5 su una GCP Deep Learning VM. Che tu stia muovendo i primi passi nell'ML o che tu sia un professionista esperto, questa guida fornisce un percorso chiaro per l'implementazione di modelli di rilevamento di oggetti basati su YOLOv5.

🆓 Inoltre, se sei un nuovo utente GCP, sei fortunato con un credito gratuito di 300 $ per dare il via ai tuoi progetti.

Oltre a GCP, esplora altre opzioni di avvio rapido accessibili per YOLOv5, come il nostro Notebook Google Colab Apri in Colab 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 Pull di Docker per un ambiente incapsulato, seguendo il nostro Guida rapida a Docker.

Passaggio 1: Crea e configura la tua VM di Deep Learning

Iniziamo creando una macchina virtuale ottimizzata per il deep learning:

  1. Vai al GCP marketplace e seleziona la Deep Learning VM.
  2. Scegliere un'istanza n1-standard-8; offre un equilibrio di 8 vCPU e 30 GB di memoria, adatta a molti task di ML.
  3. Seleziona una GPU. La scelta dipende dal carico di lavoro; anche una GPU T4 di base accelererà significativamente l'addestramento del modello.
  4. Per una configurazione senza problemi, selezionare la casella 'Installa automaticamente il driver GPU NVIDIA al primo avvio'.
  5. Alloca un disco persistente SSD da 300 GB per prevenire colli di bottiglia I/O.
  6. Fai clic su 'Deploy' e consenti a GCP di effettuare il provisioning della tua VM personalizzata per il Deep Learning.

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

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

Passo 2: Prepara la VM per YOLOv5

Dopo aver configurato l'ambiente, installiamo e prepariamo YOLOv5:

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

# Navigate into the cloned repository directory
cd yolov5

# Install the required Python packages listed in requirements.txt
pip install -r requirements.txt

Questo processo di configurazione assicura che tu abbia 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 il processo di avvio del training del modello.

Passaggio 3: addestra e distribuisci i tuoi modelli YOLOv5

Una volta completata la configurazione, sei pronto per effettuare training, convalida, previsioni ed esportazioni 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

Utilizzando solo pochi comandi, YOLOv5 ti consente di addestrare modelli personalizzati di object detection su misura per le tue esigenze specifiche o di utilizzare pesi pre-addestrati per risultati rapidi in varie attività. Esplora diverse opzioni di distribuzione del modello dopo l'esportazione.

Immagine del comando del terminale che illustra l'addestramento del modello su una GCP Deep Learning VM

Alloca Spazio di Swap (Opzionale)

Se stai lavorando con set di dati particolarmente grandi che potrebbero superare la RAM della tua VM, valuta la possibilità di aggiungere 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 -h

Addestramento di Dataset Personalizzati

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

  1. Prepara il tuo dataset secondo il formato YOLOv5 (immagini e relativi file di etichette). Consulta la nostra panoramica dei dataset per una guida.
  2. Carica il tuo dataset sulla tua VM GCP usando gcloud compute scp o la funzionalità SSH della console web.
  3. Crea un file YAML di configurazione del set di dati (custom_dataset.yaml) che specifica i percorsi dei dati di training e validazione, il numero di classi e i nomi delle classi.
  4. Inizia il processo di training utilizzando il tuo file YAML del dataset personalizzato ed eventualmente 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 set di dati personalizzati, consultare la documentazione Ultralytics YOLOv5 Train.

Sfruttare l'archiviazione cloud

Per una gestione efficiente dei dati, soprattutto con set di dati 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 consente di archiviare set di dati di grandi dimensioni e modelli addestrati in modo sicuro ed economico nel cloud, riducendo al minimo i requisiti di archiviazione sull'istanza VM.

Considerazioni conclusive

Congratulazioni! Ora sei attrezzato per sfruttare le capacità di Ultralytics YOLOv5 combinate con la potenza di calcolo di Google Cloud Platform. Questa configurazione offre scalabilità, efficienza e versatilità per i tuoi progetti di object detection. Che si tratti di esplorazione personale, ricerca accademica o creazione di soluzioni industriali, hai compiuto un passo significativo nel mondo dell'IA e del ML sul cloud.

Valuta la possibilità di utilizzare Ultralytics HUB per un'esperienza semplificata e senza codice per addestrare e gestire i tuoi modelli.

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

Vuoi continuare a migliorare le tue competenze in ML? Approfondisci la nostra documentazione ed esplora l'Ultralytics Blog per ulteriori tutorial e approfondimenti. Che la tua avventura nell'AI continui!



📅 Creato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti