Maîtriser le déploiement de YOLOv5 sur une machine virtuelle (VM) de Deep Learning de Google Cloud Platform (GCP)
Se lancer dans l'aventure de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML) peut être exaltant, 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 de ML qu'aux professionnels. L'un de ces outils est la VM de Deep Learning, préconfigurée pour les tâches de science des données et de ML. Dans ce tutoriel, nous allons parcourir le processus d'installation d'Ultralytics YOLOv5 sur une VM de Deep Learning GCP. Que tu fasses tes premiers pas en ML ou que tu sois un pratiquant chevronné, ce guide t'offre un chemin clair pour implémenter des modèles de détection d'objets propulsés par YOLOv5.
🆓 De plus, si tu es un nouvel utilisateur de GCP, tu as de la chance avec une offre de crédit gratuit de 300 $ pour donner le coup d'envoi à tes projets.
En plus de GCP, explore d'autres options de démarrage rapide accessibles pour YOLOv5, comme notre Google Colab Notebook pour une expérience basée sur le navigateur, ou l'évolutivité d'Amazon AWS. Par ailleurs, les aficionados des 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 VM de Deep Learning
Commençons par créer une machine virtuelle optimisée pour le deep learning :
- Navigue vers le GCP marketplace et sélectionne la Deep Learning VM.
- Choisis une instance n1-standard-8 ; elle offre un équilibre de 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 de base accélérera considérablement l'entraînement du modèle.
- Coche la case 'Installer automatiquement le pilote NVIDIA GPU au premier démarrage ?' pour une installation sans accroc.
- Alloue un disque persistant SSD de 300 Go pour éviter les goulots d'étranglement des E/S.
- Clique sur 'Déployer' et laisse GCP provisionner ta VM de Deep Learning personnalisée.
Cette VM est préchargée avec des outils et frameworks essentiels, dont la distribution Anaconda Python, qui regroupe commodément de nombreuses dépendances nécessaires à YOLOv5.

Étape 2 : Préparer la VM pour YOLOv5
Après avoir configuré l'environnement, 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 d'installation garantit que tu disposes d'une version de l'environnement Python 3.8.0 ou plus récente et de PyTorch 1.8 ou plus récent. Nos scripts téléchargent automatiquement les modèles et les jeux de données à partir de la dernière version de YOLOv5, simplifiant ainsi le démarrage de l'entraînement du modèle.
Étape 3 : Entraîner et déployer tes modèles YOLOv5
Une fois l'installation 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 tfliteEn utilisant 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 des résultats rapides sur diverses tâches. Explore différentes options de déploiement de modèles après l'exportation.

Allouer de l'espace d'échange (Optionnel)
Si tu travailles avec des jeux de données particulièrement volumineux qui pourraient dépasser la RAM de ta VM, envisage d'ajouter de l'espace d'échange (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înement 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 :
-
Prépare ton jeu de données selon le format YOLOv5 (images et fichiers d'étiquettes correspondants). Consulte notre aperçu des jeux de données pour obtenir des conseils.
-
Téléverse ton jeu de données sur ta VM GCP en utilisant
gcloud compute scpou la fonctionnalité SSH de la console Web. -
Crée un fichier YAML de configuration de jeu de données (
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. -
Démarre le processus d'entraînement en utilisant ton YAML de jeu de données personnalisé et potentiellement 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 des instructions complètes sur la préparation des données et l'entraînement avec des jeux de données personnalisés, consulte la documentation Ultralytics YOLOv5 Train.
Exploiter Cloud Storage
Pour une gestion efficace des données, surtout avec de grands jeux de données ou de nombreuses expériences, intègre ton flux de travail YOLOv5 avec 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 des jeux de données volumineux et des modèles entraînés de manière sécurisée et rentable dans le cloud, minimisant les besoins de stockage sur ton instance VM.
Réflexions finales
Félicitations ! Tu es désormais équipé pour exploiter les capacités d'Ultralytics YOLOv5 combinées à la puissance de calcul de Google Cloud Platform. Cette configuration offre évolutivité, efficacité et polyvalence pour tes projets de détection d'objets. Que ce soit pour une exploration personnelle, la recherche académique ou la construction de solutions industrielles, tu as franchi une étape importante dans le monde de l'IA et du ML dans le cloud.
Pense à utiliser la Plateforme Ultralytics pour une expérience simplifiée, sans code, pour entraîner et gérer tes modèles.
N'oublie pas de documenter tes progrès, de partager tes idées avec la vibrante communauté Ultralytics, et d'utiliser des ressources comme les discussions GitHub pour la collaboration et le support. Maintenant, va de l'avant et innove avec YOLOv5 et GCP !
Tu souhaites continuer à améliorer tes compétences en ML ? Plonge dans notre documentation et explore le Blog Ultralytics pour plus de tutoriels et d'idées. Laisse ton aventure IA se poursuivre !