Passer au contenu

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

Se lancer dans l'aventure de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML) peut être exaltant, surtout lorsque vous exploitez la puissance et la flexibilité d'une plateforme d'informatique en nuage. Google Cloud Platform (GCP) offre des outils robustes adaptés aux passionnés et aux professionnels du ML. L'un de ces outils est la Deep Learning VM, préconfigurée pour la science des données et les tâches de ML. Dans ce tutoriel, nous allons explorer le processus de configuration d'Ultralytics YOLOv5 sur une GCP Deep Learning VM. Que vous fassiez vos premiers pas dans le ML ou que vous soyez un praticien chevronné, ce guide fournit une voie claire pour implémenter des modèles de détection d'objets alimentés par YOLOv5.

🆓 De plus, si vous êtes un nouvel utilisateur GCP, vous avez de la chance avec une offre de crédit gratuit de 300 $ pour démarrer vos projets.

Outre GCP, explorez d'autres options de démarrage rapide accessibles pour YOLOv5, comme notre Google Colab Notebook Ouvrir dans Colab pour une expérience basée sur un navigateur, ou l'évolutivité de Amazon AWS. De plus, les aficionados des conteneurs peuvent utiliser notre image Docker officielle disponible sur Docker Hub Pull Docker pour un environnement encapsulé, en suivant notre Guide de démarrage rapide Docker.

Étape 1 : Créer et configurer votre machine virtuelle d'apprentissage profond

Commençons par créer une machine virtuelle optimisée pour l'apprentissage profond :

  1. Accédez à la place de marché GCP et sélectionnez la VM Deep Learning.
  2. Choisissez 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.
  3. Sélectionnez un GPU. Le choix dépend de votre charge de travail ; même un GPU T4 de base accélérera considérablement l’entraînement du modèle.
  4. Cochez la case 'Installer automatiquement le pilote NVIDIA GPU au premier démarrage ?' pour une configuration transparente.
  5. Allouez un disque persistant SSD de 300 Go pour éviter les goulots d’étranglement d’E/S.
  6. Cliquez sur « Déployer » et autorisez GCP à provisionner votre machine virtuelle personnalisée d'apprentissage profond.

Cette machine virtuelle est préchargée avec des outils et des frameworks essentiels, y compris la distribution Anaconda python, qui regroupe commodément de nombreuses dépendances nécessaires pour YOLOv5.

Illustration de la configuration d'une VM Deep Learning sur GCP Marketplace

Étape 2 : Préparez la machine virtuelle pour YOLOv5

Après avoir configuré l’environnement, installons et préparons 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

Ce processus de configuration garantit que vous disposez d'un environnement python version 3.8.0 ou plus récente et PyTorch 1.8 ou ultérieure. Nos scripts téléchargent automatiquement les modèles et les jeux de données à partir de la dernière version de YOLOv5, ce qui simplifie le processus de démarrage de l'entraînement du modèle.

Étape 3 : Entraînez et déployez vos modèles YOLOv5

Une fois la configuration terminée, vous êtes prêt à entraîner, valider, prédire et exporter avec YOLOv5 sur votre 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

En utilisant seulement quelques commandes, YOLOv5 vous permet d'entraîner des modèles de détection d'objets personnalisés et adaptés à vos besoins spécifiques ou d'utiliser des poids pré-entraînés pour obtenir des résultats rapides dans diverses tâches. Explorez différentes options de déploiement de modèles après l'exportation.

Commande de terminal illustrant l'entraînement du modèle sur une VM Deep Learning GCP

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

Si vous travaillez avec des ensembles de données particulièrement volumineux qui pourraient dépasser la RAM de votre VM, envisagez d'ajouter de l'espace de 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 -h

Entraînement de jeux de données personnalisés

Pour entraîner YOLOv5 sur votre ensemble de données personnalisé dans GCP, suivez ces étapes générales:

  1. Préparez votre ensemble de données selon le format YOLOv5 (images et fichiers d'étiquettes correspondants). Consultez notre aperçu des ensembles de données pour obtenir des conseils.
  2. Téléchargez votre ensemble de données sur votre VM GCP en utilisant gcloud compute scp ou la fonctionnalité SSH de la console web.
  3. Créer un fichier YAML de configuration de l’ensemble de données (custom_dataset.yaml) qui spécifie les chemins vers vos données d'entraînement et de validation, le nombre de classes et les noms de classes.
  4. Commencez le processus de formation en utilisant votre YAML de jeu de données personnalisé et en commençant potentiellement à partir 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 ensembles de données personnalisés, consultez la documentation Ultralytics YOLOv5 Train.

Exploitation du stockage en nuage

Pour une gestion efficace des données, en particulier avec de grands ensembles de données ou de nombreuses expériences, intégrez votre 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 vous permet de stocker de grands ensembles de données et des modèles entraînés en toute sécurité et de manière rentable dans le cloud, ce qui réduit les besoins de stockage sur votre instance de machine virtuelle.

Réflexions finales

Félicitations ! Vous êtes maintenant é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 vos projets de détection d’objets. Que ce soit pour l’exploration personnelle, la recherche universitaire ou la création de solutions industrielles, vous avez franchi une étape importante dans le monde de l’IA et du ML sur le cloud.

Pensez à utiliser Ultralytics HUB pour une expérience simplifiée et sans code afin d’entraîner et de gérer vos modèles.

N'oubliez pas de documenter vos progrès, de partager vos idées avec la communauté Ultralytics dynamique et d'utiliser des ressources telles que les discussions GitHub pour la collaboration et le support. Maintenant, allez-y et innovez avec YOLOv5 et GCP !

Vous souhaitez continuer à améliorer vos compétences en ML ? Plongez dans notre documentation et explorez le Blog Ultralytics pour découvrir d’autres tutoriels et informations. Que votre aventure IA continue !



📅 Créé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires