Ultralytics YOLO27 : Rejoins la liste d’attente.
Commencer

Maîtriser le déploiement de YOLOv5 sur une VM Deep Learning de Google Cloud Platform (GCP)

Google Cloud Platform (GCP) est une plateforme de cloud computing dont la machine virtuelle Deep Learning est préconfigurée pour la science des données et les tâches d’apprentissage automatique (ML). Ce tutoriel explique comment configurer Ultralytics YOLOv5 sur une machine virtuelle GCP Deep Learning. Que tu fasses tes premiers pas en ML ou que tu sois un spécialiste expérimenté, il te guide clairement pour entraîner et exécuter des modèles de détection d’objets avec YOLOv5.

Les nouveaux utilisateurs de GCP peuvent également profiter d’une offre de crédit gratuit de 300 $ pour commencer.

Parmi les autres options de démarrage rapide pour YOLOv5, tu trouveras notre notebook Google Colab Open In Colab pour une expérience dans le navigateur, ou l’évolutivité d’Amazon AWS. Tu peux aussi utiliser notre image Docker officielle disponible sur Docker Hub Docker Pulls pour disposer d’un environnement encapsulé, en suivant notre Guide de démarrage rapide Docker.

Étape 1 : créer et configurer ta VM Deep Learning#

Commence par créer une machine virtuelle optimisée pour l’apprentissage profond :

  1. Accède à la place de marché GCP et sélectionne Deep Learning VM.
  2. Choisis une instance n1-standard-8 ; avec ses 8 vCPU et ses 30 Go de mémoire, elle convient à de nombreuses tâches de ML.
  3. Sélectionne un GPU. Le choix dépend de ta charge de travail ; même un GPU T4 d'entrée de gamme accélérera considérablement l'entraînement des modèles.
  4. Coche la case « Installer automatiquement le pilote NVIDIA au premier démarrage ? ».
  5. Alloue un disque SSD persistant de 300 Go afin d'éviter les goulots d'étranglement des E/S.
  6. Clique sur « Deploy » et laisse GCP provisionner ta VM Deep Learning personnalisée.

Cette VM est préchargée avec les outils et frameworks essentiels, notamment la distribution Python Anaconda, qui regroupe commodément de nombreuses dépendances nécessaires à YOLOv5.

Illustration de la configuration d'une VM Deep Learning sur la place de marché GCP

Étape 2 : préparer la VM pour YOLOv5#

Installe ensuite YOLOv5 et ses dépendances :

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

# Install dependencies
pip install -r requirements.txt

YOLOv5 nécessite Python 3.8.0 ou une version ultérieure et PyTorch 1.8 ou une version ultérieure. Les scripts téléchargent automatiquement les modèles et les jeux de données depuis la dernière version de YOLOv5, ce qui simplifie le démarrage de l’entraînement des modèles.

Étape 3 : entraîner et déployer tes modèles YOLOv5#

La configuration terminée, tu peux entraîner, valider, effectuer des prédictions et exporter des modèles YOLOv5 sur ta 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

Avec quelques commandes, tu peux entraîner des modèles personnalisés de détection d’objets adaptés à tes besoins ou commencer avec des poids préentraînés pour obtenir rapidement des résultats.

Entraînement d'un modèle YOLOv5 sur une VM GCP

Allouer de l'espace d'échange (facultatif)#

Si tu travailles avec des jeux de données particulièrement volumineux susceptibles de dépasser la RAM de ta VM, envisage d'ajouter de l'espace d'échange pour éviter les erreurs de mémoire :

# 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

Entraîner des modèles sur des jeux de données personnalisés#

Pour entraîner YOLOv5 sur ton jeu de données personnalisé dans GCP, suis ces étapes générales :

  1. Prépare ton jeu de données au format YOLO (images et fichiers d'annotations correspondants). Consulte notre présentation des jeux de données pour obtenir des conseils.

  2. Téléverse ton jeu de données sur ta VM GCP avec gcloud compute scp ou la fonctionnalité SSH de la console Web.

  3. Crée un fichier de configuration YAML pour le jeu de données (custom_dataset.yaml) qui indique les chemins d'accès aux données d'entraînement et de validation, le nombre de classes et leurs noms.

  4. Lance le processus d'entraînement avec le fichier YAML de ton jeu de données personnalisé et, éventuellement, des poids préentraînés comme point de départ :

    # 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

Pour obtenir des instructions complètes sur la préparation des données et l'entraînement avec des jeux de données personnalisés, consulte le tutoriel Entraîner sur des données personnalisées.

Tirer parti du stockage cloud#

Pour gérer efficacement tes données, en particulier avec de grands jeux de données ou de nombreuses expériences, intègre ton flux de travail YOLOv5 à 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/

Cette approche te permet de stocker de grands jeux de données et des modèles entraînés dans le cloud de manière sécurisée et économique, tout en réduisant l'espace de stockage nécessaire sur ta VM.

Pour conclure#

Ultralytics YOLOv5 fonctionne maintenant sur une machine virtuelle Google Cloud Platform Deep Learning et est prêt pour des projets de détection d’objets allant des expérimentations personnelles et de la recherche universitaire aux solutions industrielles.

Envisage d’utiliser Ultralytics Platform pour entraîner et gérer tes modèles sans écrire de code.

Pour poser des questions et collaborer, rejoins les discussions GitHub.

FAQ#

  • Une machine n1-standard-8 équipée d'un seul GPU T4 suffit pour la plupart des tâches d'entraînement et d'inférence avec YOLOv5. Passe à une L4 ou une A100 pour les grands jeux de données ou les modèles plus volumineux, et coche toujours l'option d'installation automatique du pilote NVIDIA au premier démarrage.

  • Arrête la VM depuis la console Compute Engine lorsqu'elle est inactive. Le disque associé reste facturé : supprime donc la VM et le disque une fois le projet terminé et tes poids copiés en toute sécurité dans Cloud Storage.

  • Pour les petits jeux de données, utilise gcloud compute scp. Pour les jeux de données plus volumineux, importe-les dans un bucket Cloud Storage et récupère-les avec gsutil cp -r gs://your-bucket/dataset ./datasets/, ce qui est beaucoup plus rapide sur le réseau de Google.

  • Oui. PyTorch est déjà installé sur la VM Deep Learning ; pip install ultralytics ajoute donc l’entraînement et l’export de YOLO26 via la CLI yolo.

Commentaires

Pose une question, partage tes résultats ou aide quelqu’un d’autre.