Ultralytics YOLOv5 🚀 sur AzureML - Guide de démarrage rapide
Bienvenue dans le guide de démarrage rapide Ultralytics YOLOv5 pour Microsoft Azure Machine Learning (AzureML) ! Ce guide t'accompagnera dans la configuration de YOLOv5 sur une instance de calcul AzureML, en abordant tout, de la création d'un environnement virtuel à l'entraînement et à l'exécution d'inférences avec le modèle.
Qu'est-ce qu'Azure ?
Azure est la plateforme complète de cloud computing de Microsoft. Elle offre une vaste gamme de services, incluant la puissance de calcul, des bases de données, des outils d'analyse, des fonctionnalités de machine learning et des solutions réseau. Azure permet aux organisations de créer, déployer et gérer des applications et services via des centres de données gérés par Microsoft, facilitant la migration des charges de travail depuis une infrastructure sur site vers le cloud.
Qu'est-ce qu'Azure Machine Learning (AzureML) ?
Azure Machine Learning (AzureML) est un service cloud spécialisé conçu pour le développement, l'entraînement et le déploiement de modèles de machine learning. Il fournit un environnement collaboratif avec des outils adaptés aux data scientists et aux développeurs de tous niveaux. Les fonctionnalités clés incluent le machine learning automatisé (AutoML), une interface glisser-déposer pour la création de modèles, et un puissant SDK Python pour un contrôle plus granulaire du cycle de vie ML. AzureML simplifie le processus d'intégration de la modélisation prédictive dans les applications.
Prérequis
Pour suivre ce guide, tu auras besoin d'un abonnement Azure actif et d'un accès à un espace de travail AzureML. Si tu n'as pas d'espace de travail configuré, veuillez te référer à la documentation Azure officielle pour en créer un.
Créer une instance de calcul
Une instance de calcul dans AzureML fournit une station de travail managée basée sur le cloud pour les data scientists.
- Accède à ton espace de travail AzureML.
- Dans le panneau de gauche, sélectionne Compute.
- Va sur l'onglet Compute instances et clique sur New.
- Configure ton instance en sélectionnant les ressources CPU ou GPU appropriées en fonction de tes besoins pour l'entraînement ou l'inférence.
Ouvrir un terminal
Une fois que ton instance de calcul est en cours d'exécution, tu peux accéder directement à son terminal depuis AzureML studio.
- Va dans la section Notebooks du panneau de gauche.
- Trouve ton instance de calcul dans le menu déroulant en haut.
- Clique sur l'option Terminal située sous le navigateur de fichiers pour ouvrir une interface de ligne de commande vers ton instance.

Configurer et exécuter YOLOv5
Maintenant, configurons l'environnement et exécutons Ultralytics YOLOv5.
Créer un environnement virtuel
It's best practice to use a virtual environment to manage dependencies. We'll use Conda, which is pre-installed on AzureML compute instances. For a detailed Conda setup guide, see the Ultralytics Conda Quickstart Guide.
Crée un environnement Conda (par exemple, yolov5env) avec une version spécifique de Python et active-le :
conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env # Activate the environment
conda install pip -y # Ensure pip is installedCloner le dépôt YOLOv5
Clone le dépôt officiel Ultralytics YOLOv5 depuis GitHub en utilisant Git :
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursiveInstaller les dépendances
Installe les paquets Python nécessaires listés dans le fichier requirements.txt. Nous installons également ONNX pour les capacités d'exportation de modèle.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exportingEffectuer des tâches YOLOv5
Une fois la configuration terminée, tu peux maintenant entraîner, valider, effectuer des inférences et exporter ton modèle YOLOv5.
-
Entraîne le modèle sur un jeu de données comme COCO128. Consulte la documentation du Mode Entraînement pour plus de détails.
# Start training using yolov5s pretrained weights on the COCO128 dataset python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16 -
Valide les performances du modèle entraîné en utilisant des métriques comme la Précision, le Rappel et le mAP. Voir le guide du Mode Validation pour les options.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Exécute l'inférence sur de nouvelles images ou vidéos. Explore la documentation du Mode Prédiction pour diverses sources d'inférence.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640 -
Exporte le modèle vers différents formats comme ONNX, TensorRT ou CoreML pour le déploiement. Réfère-toi au guide du Mode Exportation et à la page Intégration ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Utiliser un notebook
Si tu préfères une expérience interactive, tu peux exécuter ces commandes dans un Notebook AzureML. Tu devras créer un noyau IPython personnalisé lié à ton environnement Conda.
Créer un nouveau noyau IPython
Exécute les commandes suivantes dans le terminal de ton instance de calcul :
# Ensure your Conda environment is active
# conda activate yolov5env
# Install ipykernel if not already present
conda install ipykernel -y
# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"Après avoir créé le noyau, rafraîchis ton navigateur. Lorsque tu ouvres ou crées un fichier notebook .ipynb, sélectionne ton nouveau noyau ("Python (yolov5env)") dans le menu déroulant du noyau en haut à droite.
Exécuter des commandes dans les cellules de notebook
-
Cellules Python : Le code dans les cellules Python s'exécutera automatiquement en utilisant le noyau
yolov5envsélectionné. -
Cellules Bash : Pour exécuter des commandes shell, utilise la commande magique
%%bashau début de la cellule. N'oublie pas d'activer ton environnement Conda dans chaque cellule bash, car elles n'héritent pas automatiquement du contexte de l'environnement du noyau du notebook.%%bash source activate yolov5env # Activate environment within the cell # Example: Run validation using the activated environment python val.py --weights yolov5s.pt --data coco128.yaml --img 640
Félicitations ! Tu as configuré et exécuté avec succès Ultralytics YOLOv5 sur AzureML. Pour aller plus loin, pense à consulter d'autres Intégrations Ultralytics ou la documentation YOLOv5 détaillée. Tu pourrais également trouver la documentation AzureML utile pour des scénarios avancés comme l'entraînement distribué ou le déploiement de modèles en tant que point de terminaison.