Ultralytics YOLOv5 🚀 sur une instance AWS Deep Learning : ton guide complet#
Configurer un environnement de deep learning haute performance peut sembler intimidant, surtout si tu débutes. Mais pas d’inquiétude ! 🛠️ Ce guide te présente étape par étape la mise en route d’Ultralytics YOLOv5 sur une instance AWS Deep Learning. En tirant parti de la puissance des services web d’Amazon (AWS), même les personnes qui débutent en apprentissage automatique (ML) peuvent démarrer rapidement et à moindre coût. La scalabilité de la plateforme AWS la rend idéale aussi bien pour l’expérimentation que pour le déploiement en production.
Les autres options de démarrage rapide pour YOLOv5 incluent notre Notebook Google Colab , les environnements Kaggle
, GCP Deep Learning VM et notre image Docker préconfigurée disponible sur Docker Hub
.
Étape 1 : connexion à la console AWS#
Commence par créer un compte ou connecte-toi à la console de gestion AWS. Une fois connecté, accède au tableau de bord du service EC2, où tu peux gérer tes serveurs virtuels (instances).

Étape 2 : lancer ton instance#
Depuis le tableau de bord EC2, clique sur le bouton Launch Instance. Cela lance le processus de création d’un nouveau serveur virtuel adapté à tes besoins.

Sélectionner la bonne Amazon Machine Image (AMI)#
Choisir la bonne AMI est essentiel. Elle détermine le système d’exploitation et les logiciels préinstallés sur ton instance. Dans la barre de recherche, saisis 'Deep Learning' et sélectionne la dernière AMI Deep Learning basée sur Ubuntu (sauf si tu as des exigences particulières concernant un autre système d’exploitation). Les AMI Deep Learning d’Amazon sont préconfigurées avec des frameworks de deep learning populaires, comme PyTorch, utilisé par YOLOv5, ainsi qu’avec les pilotes GPU nécessaires, ce qui simplifie considérablement la configuration.

Choisir un type d’instance#
Pour les tâches exigeantes comme l’entraînement de modèles de deep learning, il est vivement recommandé de sélectionner un type d’instance accéléré par GPU. Les GPU peuvent réduire considérablement le temps nécessaire à l’entraînement des modèles par rapport aux CPU. Lorsque tu choisis la taille d’une instance, vérifie que sa capacité mémoire (RAM) est suffisante pour ton modèle et ton jeu de données.
Remarque : la taille de ton modèle et de ton jeu de données est un facteur déterminant. Si ta tâche de ML nécessite plus de mémoire que celle fournie par l’instance sélectionnée, tu devras choisir un type d’instance plus grand afin d’éviter les problèmes de performances ou les erreurs.
Consulte les types d’instances GPU disponibles sur la page des types d’instances EC2, notamment dans la catégorie Accelerated Computing.

Pour obtenir des informations détaillées sur la surveillance et l’optimisation de l’utilisation des GPU, consulte le guide AWS consacré à la surveillance et à l’optimisation des GPU. Compare les coûts à l’aide de la tarification à la demande et découvre les économies potentielles grâce à la tarification des instances Spot.
Configurer ton instance#
Envisage d’utiliser les instances Spot Amazon EC2 pour réduire tes coûts. Les instances Spot te permettent d’enchérir sur la capacité EC2 inutilisée, souvent avec une remise importante par rapport aux tarifs à la demande. Pour les tâches qui nécessitent une conservation persistante (enregistrement des données même si l’instance Spot est interrompue), choisis une demande persistante. Cela garantit la persistance de ton volume de stockage.

Poursuis avec les étapes 4 à 7 de l’assistant de lancement d’instance pour configurer le stockage, ajouter des balises, configurer les groupes de sécurité (vérifie que le port SSH 22 est ouvert depuis ton adresse IP) et contrôler tes paramètres avant de cliquer sur Launch. Tu devras également créer ou sélectionner une paire de clés existante pour sécuriser l’accès SSH.
Étape 3 : te connecter à ton instance#
Une fois que l’état de ton instance indique « running », sélectionne-la dans le tableau de bord EC2. Clique sur le bouton Connect pour afficher les options de connexion. Utilise l’exemple de commande SSH fourni dans ton terminal local (comme Terminal sur macOS/Linux ou PuTTY/WSL sur Windows) afin d’établir une connexion sécurisée. Tu auras besoin du fichier de clé privée (.pem) que tu as créé ou sélectionné lors du lancement.

Étape 4 : exécuter Ultralytics YOLOv5#
Maintenant que tu es connecté via SSH, tu peux configurer et exécuter YOLOv5. Commence par cloner le dépôt officiel YOLOv5 depuis GitHub, puis accède au répertoire. Ensuite, installe les dépendances requises à l’aide de pip. Il est recommandé d’utiliser un environnement Python 3.8 ou version ultérieure. Les modèles et jeux de données nécessaires seront téléchargés automatiquement depuis la dernière version de YOLOv5 lorsque tu exécutes des commandes d’entraînement ou de détection.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txtUne fois l’environnement prêt, tu peux commencer à utiliser YOLOv5 pour différentes tâches :
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640Consulte la documentation Ultralytics pour découvrir des guides détaillés sur l’entraînement, la validation, la prédiction (inférence) et l’exportation.
Options supplémentaires : augmenter la mémoire swap#
Si tu travailles avec de très grands jeux de données ou si tu rencontres des limitations de mémoire pendant l’entraînement, augmenter la mémoire swap de ton instance peut parfois aider. L’espace swap permet au système d’utiliser l’espace disque comme mémoire RAM virtuelle.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -hFélicitations ! 🎉 Tu as configuré avec succès une instance AWS Deep Learning, installé Ultralytics YOLOv5 et tu es prêt à effectuer des tâches de détection d’objets. Que tu expérimentes avec des modèles préentraînés ou que tu entraînes tes propres données, cette configuration puissante fournit une base évolutive pour tes projets de vision par ordinateur. Si tu rencontres des problèmes, consulte la vaste documentation AWS ainsi que les ressources utiles de la communauté Ultralytics, comme la FAQ. Bonne détection !