Ultralytics YOLOv5 🚀 sur AWS Deep Learning Instance : Votre guide complet
La mise en place d'un environnement d'apprentissage profond performant peut sembler intimidante, en particulier pour les nouveaux venus. Mais n'ayez crainte ! 🛠️ Ce guide fournit une marche à suivre étape par étape pour obtenir un environnement d'apprentissage profond performant. Ultralytics YOLOv5 sur une instance AWS Deep Learning. En tirant parti de la puissance d'Amazon Web Services (AWS), même les novices en matière d'apprentissage machine (ML) peuvent se lancer rapidement et à moindre coût. L'évolutivité de la plateforme AWS en fait un outil idéal pour l'expérimentation et le déploiement en production.
D'autres options de démarrage rapide pour YOLOv5 comprennent notre Carnet de notes Google Colab , Environnements Kaggle
, GCP Deep Learning VMet notre image Docker pré-construite disponible sur Hub Docker
.
Étape 1 : Connexion à la console AWS
Commencez par créer un compte ou par vous connecter à la console de gestion AWS. Une fois connecté, accédez au tableau de bord du service EC2, où vous pouvez gérer vos serveurs virtuels (instances).
Étape 2 : Lancer votre instance
Dans le tableau de bord EC2, cliquez sur le bouton Lancer l'instance. Le processus de création d'un nouveau serveur virtuel adapté à vos besoins est alors lancé.
Choisir la bonne Amazon Machine Image (AMI)
Le choix de la bonne AMI est crucial. Il détermine le système d'exploitation et les logiciels préinstallés pour votre instance. Dans la barre de recherche, tapez"Deep Learning" et sélectionnez la dernière AMI Deep Learning basée sur Ubuntu (sauf si vous avez des exigences spécifiques pour un autre système d'exploitation). Les AMI Deep Learning d'Amazon sont préconfigurées avec les frameworks d'apprentissage profond les plus répandus (comme PyTorchutilisé par YOLOv5) et les pilotesGPU nécessaires, ce qui simplifie considérablement le processus d'installation.
Choisir un type d'instance
Pour les tâches exigeantes telles que la formation de modèles d'apprentissage profond, il est fortement recommandé de sélectionner un type d'instance GPU. Les GPU peuvent réduire considérablement le temps nécessaire à l'entraînement des modèles par rapport aux CPU. Lorsque vous choisissez une taille d'instance, assurez-vous que sa capacité de mémoire (RAM) est suffisante pour votre modèle et votre ensemble de données.
Remarque : la taille de votre modèle et de votre ensemble de données sont des facteurs critiques. Si votre tâche ML nécessite plus de mémoire que l'instance sélectionnée n'en fournit, vous devrez choisir un type d'instance plus grand pour éviter les problèmes de performance ou les erreurs.
Explorez les types d'instances GPU disponibles sur la page EC2 Instance Types, en particulier dans la catégorie Accelerated Computing.
Pour des informations détaillées sur la surveillance et l'optimisation de l'utilisation des GPU , consultez le guide AWS sur la surveillance et l'optimisation desGPU . Comparez les coûts en utilisant la tarification à la demande et explorez les économies potentielles avec la tarification à l'instance ponctuelle.
Configuration de votre instance
Envisagez d'utiliser Amazon EC2 Spot Instances pour une approche plus rentable. Les Instances Spot vous permettent de faire une offre sur la capacité EC2 inutilisée, souvent avec une réduction significative par rapport aux prix à la demande. Pour les tâches qui nécessitent une persistance (sauvegarde des données même si l'instance Spot est interrompue), choisissez une requête persistante. Cela garantit la persistance de votre volume de stockage.
Suivez les étapes 4 à 7 de l'assistant de lancement de l'instance pour configurer le stockage, ajouter des balises, configurer les groupes de sécurité (assurez-vous que le port SSH 22 est ouvert à partir de votre IP) et réviser vos paramètres avant de cliquer sur Lancer. Vous devrez également créer ou sélectionner une paire de clés existante pour un accès SSH sécurisé.
Étape 3 : Connexion à votre instance
Une fois que l'état de votre instance est indiqué comme étant "en cours d'exécution", sélectionnez-la dans le tableau de bord EC2. Cliquez sur l'icône Connecter pour afficher les options de connexion. Utilisez l'exemple de commande SSH fourni dans votre terminal local (comme Terminal sur macOS/Linux ou PuTTY/WSL sur Windows) pour établir une connexion sécurisée. Vous aurez besoin du fichier de clé privée (.pem
) que vous avez créées ou sélectionnées lors du lancement.
Étape 4 : Exécuter Ultralytics YOLOv5
Maintenant que vous êtes connecté via SSH, vous pouvez configurer et lancer YOLOv5. Tout d'abord, clonez le dépôt officiel de YOLOv5 à partir de GitHub et naviguez dans le répertoire. Ensuite, installez les dépendances nécessaires en utilisant pip
. Il est recommandé d'utiliser un Python 3.8 ou plus récent. Les modèles et les ensembles de données nécessaires seront téléchargés automatiquement à partir de la dernière version de YOLOv5 libération lorsque vous exécutez des commandes telles que la formation ou la détection.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txt
Une fois l'environnement prêt, vous pouvez 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 640
Reportez-vous à 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 : Augmentation de la mémoire de substitution
Si vous travaillez avec de très grands ensembles de données ou si vous rencontrez des limitations de mémoire pendant l'entraînement, il peut parfois être utile d'augmenter la mémoire d'échange de votre instance. L'espace d'échange permet au système d'utiliser l'espace disque comme de la mémoire vive 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 -h
Félicitations ! 🎉 Vous avez réussi à configurer une instance AWS Deep Learning, installé Ultralytics YOLOv5 et êtes prêt à effectuer des tâches de détection d'objets. Que vous expérimentiez avec des modèles pré-entraînés ou que vous vous entraîniez sur vos propres données, cette puissante configuration constitue une base évolutive pour vos projets de vision par ordinateur. Si vous rencontrez des problèmes, consultez la documentation complète d'AWS et les ressources utiles de la communauté Ultralytics , comme la FAQ. Bonne détection !