Link to this sectionUltralytics 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 marche à suivre étape par étape pour installer et exécuter Ultralytics YOLOv5 sur une instance AWS Deep Learning. En exploitant la puissance d'Amazon Web Services (AWS), même ceux qui débutent en 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 déploiement en production.
D'autres options de démarrage rapide pour YOLOv5 incluent notre Google Colab Notebook , les environnements Kaggle
, une GCP Deep Learning VM, et notre image Docker pré-construite disponible sur Docker Hub
.
Link to this sectionÉtape 1 : Connexion à la console AWS#
Commence par créer un compte ou par te connecter à 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).

Link to this sectionÉtape 2 : Lancer ton instance#
Depuis le tableau de bord EC2, clique sur le bouton Launch Instance. Cela initie le processus de création d'un nouveau serveur virtuel adapté à tes besoins.

Link to this sectionSélectionner la bonne Amazon Machine Image (AMI)#
Choisir la bonne AMI est crucial. Cela détermine le système d'exploitation et les logiciels préinstallés pour ton instance. Dans la barre de recherche, tape 'Deep Learning' et sélectionne la dernière AMI Deep Learning basée sur Ubuntu (sauf si tu as des exigences spécifiques pour un autre OS). Les AMI Deep Learning d'Amazon sont préconfigurées avec des frameworks de deep learning populaires (comme PyTorch, utilisé par YOLOv5) et les pilotes GPU nécessaires, simplifiant considérablement le processus d'installation.

Link to this sectionChoisir un type d'instance#
Pour des tâches exigeantes comme l'entraînement de modèles de deep learning, il est fortement 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 d'un modèle par rapport aux CPU. Lors du choix de la taille de l'instance, assure-toi 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 sont des facteurs critiques. Si ta tâche ML nécessite plus de mémoire que ce que l'instance sélectionnée fournit, tu devras choisir un type d'instance plus grand pour é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 dans 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.
Link to this sectionConfigurer ton instance#
Pense à utiliser les instances Spot Amazon EC2 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 qui nécessitent 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 persiste.

Poursuis les étapes 4 à 7 de l'assistant de lancement d'instance pour configurer le stockage, ajouter des tags, définir des 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é.
Link to this sectionÉtape 3 : Te connecter à ton instance#
Une fois que l'état de ton instance indique 'running', 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.

Link to this sectionÉtape 4 : Exécuter Ultralytics YOLOv5#
Maintenant que tu es connecté via SSH, tu peux configurer et exécuter YOLOv5. D'abord, clone le dépôt officiel YOLOv5 depuis GitHub et navigue dans le répertoire. Ensuite, installe les dépendances requises en utilisant pip. Il est recommandé d'utiliser un environnement Python 3.8 ou plus récent. 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écuteras 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.
Link to this sectionExtras facultatifs : Augmenter la mémoire d'échange (Swap)#
Si tu travailles avec de très gros jeux de données ou si tu rencontres des limitations de mémoire pendant l'entraînement, augmenter la mémoire d'échange sur ton instance peut parfois aider. L'espace d'échange 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 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 effectues un entraînement sur 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 et les ressources utiles de la communauté Ultralytics comme la FAQ. Bonne détection !