Maîtriser le déploiement de YOLOv5 sur une machine virtuelle Deep Learning de Google Cloud Platform (GCP)#
Se lancer dans l'intelligence artificielle (AI) et l'apprentissage automatique (ML) peut être exaltant, en particulier lorsque tu tires parti de la puissance et de la flexibilité d'une plateforme de cloud computing. Google Cloud Platform (GCP) propose des outils robustes conçus aussi bien pour les passionnés que pour les professionnels du ML. L'un de ces outils est la Deep Learning VM, préconfigurée pour les tâches de science des données et de ML. Dans ce tutoriel, nous allons voir comment configurer Ultralytics YOLOv5 sur une GCP Deep Learning VM. Que tu fasses tes premiers pas en ML ou que tu sois un praticien chevronné, ce guide offre une voie claire 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 lancer 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 un 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 marketplace GCP 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. Ton 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 configuration 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 Deep Learning VM personnalisée.
Cette machine virtuelle est préchargée avec des outils et des frameworks essentiels, notamment la distribution Python Anaconda, qui regroupe commodément de nombreuses dépendances nécessaires pour YOLOv5.

Étape 2 : Préparer la VM pour YOLOv5#
Une fois l'environnement configuré, installons et préparons YOLOv5 :
# 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'une version d'environnement Python 3.8.0 ou supérieure et de PyTorch 1.8 ou ultérieur. Nos scripts téléchargent automatiquement les modèles et les ensembles de données de la dernière version de YOLOv5, simplifiant le processus de démarrage de l'entraînement du modèle.
É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 machine virtuelle 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 quelques commandes seulement, YOLOv5 te permet d'entraîner des modèles de détection d'objets personnalisés adaptés à tes besoins spécifiques ou d'utiliser des poids pré-entraînés pour des résultats rapides sur différentes tâches. Explore différentes options de déploiement de modèles après l'exportation.

Allouer de l'espace de swap (optionnel)#
Si tu travailles avec des datasets particulièrement volumineux qui pourraient dépasser la RAM de ta VM, envisage 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 -hEntraîner sur des datasets personnalisés#
Pour entraîner YOLOv5 sur ton propre dataset au sein de 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écharge ton jeu de données sur ta machine virtuelle GCP à l'aide de
gcloud compute scpou de la fonction 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 d'accès à tes données d'entraînement et de validation, le nombre de classes et les noms des classes. -
Commence le processus d'entraînement en utilisant ton YAML de jeu de données personnalisé et en partant éventuellement 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 sur l'entraînement d'Ultralytics YOLOv5.
Exploiter Google Cloud Storage#
Pour une gestion efficace des données, en particulier avec de grands ensembles 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 de grands datasets 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. Qu'il s'agisse d'exploration personnelle, de recherche académique ou de construction de solutions industrielles, tu as fait un pas important dans le monde de l'IA et du ML sur le cloud.
Envisage d'utiliser Ultralytics Platform pour une expérience simplifiée et 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 communauté dynamique d'Ultralytics et d'utiliser des ressources telles que 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 d'Ultralytics pour plus de tutoriels et d'analyses. Que ton aventure dans l'IA continue !