Ultralytics YOLOv5 🚀 sur une instance AWS Deep Learning : ton guide complet
Configurer un environnement de deep learning haute performance peut sembler intimidant, surtout pour les débutants. Mais n'aie crainte ! 🛠️ Ce guide te propose une procédure pas à pas pour installer et exécuter Ultralytics YOLOv5 sur une instance AWS Deep Learning. En tirant parti de la puissance d'Amazon Web Services (AWS), même ceux qui découvrent le machine learning (ML) peuvent démarrer rapidement et à moindre coût. La scalability de la plateforme AWS la rend idéale aussi bien pour l'expérimentation que pour le deployment en production.
Parmi les autres options de démarrage rapide pour YOLOv5, tu trouveras notre Google Colab Notebook , les environnements Kaggle
, une GCP Deep Learning VM, ainsi que notre image Docker pré-configurée disponible sur Docker Hub
.
Étape 1 : Connexion à la console AWS
Commence par créer un compte ou par te connecter à la AWS Management Console. 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 crucial. Elle détermine le système d'exploitation et les logiciels pré-installés sur ton instance. Dans la barre de recherche, tape 'Deep Learning' et sélectionne la dernière Deep Learning AMI basée sur Ubuntu (sauf si tu as des besoins spécifiques pour un autre système d'exploitation). Les Deep Learning AMIs d'Amazon sont livrées pré-configurées avec des frameworks de deep learning populaires (comme PyTorch, utilisé par YOLOv5) et les GPU drivers nécessaires, ce qui simplifie grandement le processus de configuration.

Choisir un type d'instance
Pour des tâches exigeantes comme l'entraînement de modèles de deep learning, il est fortement recommandé de choisir 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 de l'instance, assure-toi que sa capacité mémoire (RAM) est suffisante pour ton modèle et ton dataset.
Remarque : La taille de ton modèle et de ton dataset sont des facteurs critiques. Si ta tâche de ML nécessite plus de mémoire que ce que l'instance choisie offre, tu devras opter pour un type d'instance plus grand afin d'éviter les problèmes de performance ou les erreurs.
Explore les types d'instances GPU disponibles sur la page des types d'instances EC2, en particulier sous la catégorie Accelerated Computing.

Pour des informations détaillées sur la surveillance et l'optimisation de l'utilisation du GPU, consulte le guide AWS sur la surveillance et l'optimisation des GPU. Compare les coûts en utilisant la tarification à la demande et explore les économies potentielles avec la tarification des instances Spot.
Configurer ton instance
Envisage d'utiliser des instances Amazon EC2 Spot pour une approche plus économique. Les instances Spot te permettent d'enchérir sur la capacité EC2 inutilisée, souvent avec une remise importante par rapport aux prix à la demande. Pour les tâches nécessitant une persistance (sauvegarde des données même en cas d'interruption de l'instance Spot), choisis une requête persistante. Cela garantit que ton volume de stockage est conservé.

Poursuis les étapes 4 à 7 de l'assistant de lancement d'instance pour configurer le stockage, ajouter des tags, définir les groupes de sécurité (assure-toi que le port SSH 22 est ouvert depuis ton IP) et revoir tes paramètres avant de cliquer sur Launch. Tu devras également créer ou sélectionner une paire de clés existante pour un accès SSH sécurisé.
Étape 3 : Se connecter à ton instance
Une fois que l'état de ton instance indique « en cours d'exécution », sélectionne-la depuis le tableau de bord EC2. Clique sur le bouton Connect pour voir les options de connexion. Utilise l'exemple de commande SSH fourni dans ton terminal local (comme le Terminal sur macOS/Linux ou PuTTY/WSL sur Windows) pour é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 installer et exécuter YOLOv5. Commence par cloner le dépôt officiel de YOLOv5 depuis GitHub et 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 ultérieur. Les modèles et datasets nécessaires seront téléchargés automatiquement depuis la dernière release de YOLOv5 lorsque tu lanceras des commandes comme l'entraînement ou la détection.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txtAvec l'environnement prêt, tu peux commencer à utiliser YOLOv5 pour diverses 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 d'Ultralytics pour des guides détaillés sur l'entraînement, la validation, la prédiction (inférence) et l'exportation.
Extras optionnels : Augmenter la mémoire swap
Si tu travailles avec de très grands datasets ou si tu rencontres des limitations de mémoire pendant l'entraînement, augmenter la mémoire swap sur ton instance peut parfois aider. L'espace swap permet au système d'utiliser l'espace disque comme 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 réussi à configurer une instance AWS Deep Learning, à installer 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 fasses de l'entraînement sur tes propres données, cette configuration puissante constitue une base évolutive pour tes projets de computer vision. Si tu rencontres des problèmes, consulte l'étendue de la documentation AWS et les ressources utiles de la communauté Ultralytics comme la FAQ. Bonne détection !