Maîtriser le déploiement de YOLOv5 sur une VM Deep Learning de Google Cloud Platform (GCP)#
Se lancer dans l'intelligence artificielle (AI) et l'apprentissage automatique (ML) peut être passionnant, surtout lorsque tu exploites la puissance et la flexibilité d'une plateforme de cloud computing. Google Cloud Platform (GCP) propose des outils robustes adaptés aussi bien aux passionnés qu'aux professionnels du ML. La Deep Learning VM est l'un de ces outils, préconfiguré pour les tâches de science des données et de ML. Dans ce tutoriel, tu découvriras comment configurer Ultralytics YOLOv5 sur une GCP Deep Learning VM. Que tu fasses tes premiers pas en ML ou que tu sois déjà un praticien expérimenté, ce guide te fournit une méthode claire pour mettre en œuvre des modèles de détection d'objets propulsés par YOLOv5.
🆓 De plus, si tu es un nouvel utilisateur de GCP, tu peux profiter d'une offre de crédit gratuit de 300 $ pour démarrer tes projets.
En plus de GCP, découvre d'autres options de démarrage rapide accessibles pour YOLOv5, comme notre notebook Google Colab pour une expérience dans le navigateur, ou l'évolutivité d'Amazon AWS. De plus, les passionnés de conteneurs peuvent utiliser notre image Docker officielle disponible sur Docker Hub
pour un environnement encapsulé, en suivant notre guide de démarrage rapide Docker.
Étape 1 : créer et configurer ta Deep Learning VM#
Commençons par créer une machine virtuelle optimisée pour le deep learning :
- Accède à la place de marché GCP et sélectionne Deep Learning VM.
- Choisis une instance n1-standard-8 ; elle offre un équilibre entre 8 vCPU et 30 Go de mémoire, adapté à de nombreuses tâches de ML.
- 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.
- Coche l'option « Install NVIDIA GPU driver automatically on first startup? » pour une configuration fluide.
- Alloue un disque persistant SSD de 300 Go afin d'éviter les goulots d'étranglement des entrées-sorties.
- Clique sur « Deploy » et laisse GCP provisionner ta Deep Learning VM personnalisée.
Cette VM est préchargée avec les outils et frameworks essentiels, notamment la distribution Python Anaconda, qui regroupe de manière pratique de nombreuses dépendances nécessaires à YOLOv5.

Étape 2 : préparer la VM pour YOLOv5#
Une fois l'environnement configuré, installons YOLOv5 et préparons-le :
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install dependencies
pip install -r requirements.txtCe processus de configuration garantit que tu disposes d'un environnement Python en version 3.8.0 ou ultérieure et de PyTorch 1.8 ou ultérieur. Nos scripts téléchargent automatiquement les modèles et les datasets depuis la version la plus récente 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#
Une fois la configuration terminée, tu es prêt à entraîner, valider, prédire et exporter avec 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 tfliteAvec seulement quelques commandes, YOLOv5 te permet d'entraîner des modèles personnalisés de détection d'objets adaptés à tes besoins spécifiques, ou d'utiliser des poids préentraînés pour obtenir rapidement des résultats dans diverses tâches. Découvre les différentes options de déploiement des modèles après l'exportation.

Allouer de l'espace swap (facultatif)#
Si tu travailles avec des datasets particulièrement volumineux qui risquent de dépasser la RAM de ta VM, envisage d'ajouter de l'espace swap 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 -hEntraîner des datasets personnalisés#
Pour entraîner YOLOv5 sur ton dataset personnalisé dans GCP, suis ces étapes générales :
-
Prépare ton dataset conformément au format YOLOv5 (images et fichiers d'annotations correspondants). Consulte notre présentation des datasets pour obtenir des conseils.
-
Téléverse ton dataset vers ta VM GCP à l'aide de
gcloud compute scpou de la fonctionnalité SSH de la console Web. -
Crée un fichier YAML de configuration du dataset (
custom_dataset.yaml) qui spécifie les chemins vers tes données d'entraînement et de validation, le nombre de classes et les noms des classes. -
Lance le processus d'entraînement à l'aide du fichier YAML de ton dataset personnalisé et, éventuellement, en partant de poids préentraînés :
# 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 datasets personnalisés, consulte la documentation d'entraînement d'Ultralytics YOLOv5.
Tirer parti du stockage cloud#
Pour gérer efficacement tes données, en particulier avec de grands datasets ou de nombreuses expériences, intègre ton workflow 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 dans le cloud des datasets volumineux et des modèles entraînés de manière sécurisée et économique, tout en réduisant les besoins de stockage sur ton instance de VM.
Pour conclure#
Félicitations ! Tu disposes désormais des moyens nécessaires pour exploiter les capacités d'Ultralytics YOLOv5, associées à la puissance de calcul de Google Cloud Platform. Cette configuration offre scalabilité, efficacité et polyvalence pour tes projets de détection d'objets. Que ce soit pour une exploration personnelle, une recherche universitaire ou la création de solutions industrielles, tu as fait un grand pas dans le monde de l'AI et du ML dans le cloud.
Envisage d'utiliser Ultralytics Platform pour bénéficier d'une expérience simplifiée, sans code, afin d'entraîner et de gérer tes modèles.
Pense à documenter tes progrès, à partager tes idées avec la communauté Ultralytics dynamique et à utiliser des ressources comme les discussions GitHub pour collaborer et obtenir de l'aide. Il ne te reste plus qu'à innover avec YOLOv5 et GCP !
Tu veux continuer à améliorer tes compétences en ML ? Plonge dans notre documentation et découvre le blog Ultralytics pour plus de tutoriels et d'informations. Que ton aventure dans l'AI continue !