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'expliquera comment configurer YOLOv5 sur une instance de calcul AzureML, de la création d'un environnement virtuel à l'entraînement et à l'inférence avec le modèle.
Qu'est-ce qu'Azure ?#
Azure est la plateforme complète de cloud computing de Microsoft. Elle offre un vaste éventail de services, notamment de la puissance de calcul, des bases de données, des outils d'analyse, des capacités d'apprentissage automatique et des solutions réseau. Azure permet aux organisations de créer, déployer et gérer des applications et des services via des centres de données gérés par Microsoft, facilitant ainsi la migration des charges de travail d'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 développer, entraîner et déployer des modèles d'apprentissage automatique. Il fournit un environnement collaboratif avec des outils adaptés aux data scientists et aux développeurs de tous niveaux. Parmi ses principales fonctionnalités figurent l'apprentissage automatique automatisé (AutoML), une interface glisser-déposer pour créer des modèles et un puissant SDK Python offrant un contrôle plus précis du cycle de vie du ML. AzureML simplifie l'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 encore configuré d'espace de travail, consulte la documentation Azure officielle pour en créer un.
Créer une instance de calcul#
Une instance de calcul AzureML fournit aux data scientists un poste de travail géré dans le cloud.
- Accède à ton espace de travail AzureML.
- Dans le volet de gauche, sélectionne Compute.
- Accède à l'onglet Compute instances et clique sur New.
- Configure ton instance en sélectionnant les ressources GPU ou CPU appropriées selon tes besoins en matière d'entraînement ou d'inférence.
Ouvrir un terminal#
Une fois ton instance de calcul démarrée, tu peux accéder directement à son terminal depuis AzureML Studio.
- Accède à la section Notebooks dans le volet de gauche.
- Dans le menu déroulant supérieur, trouve ton instance de calcul.
- Clique sur l'option Terminal située sous l'explorateur de fichiers pour ouvrir une interface de ligne de commande sur ton instance.

Configurer et exécuter YOLOv5#
Configurons maintenant l'environnement et exécutons Ultralytics YOLOv5.
1. Créer un environnement virtuel#
Il est recommandé d'utiliser un environnement virtuel pour gérer les dépendances. Nous utiliserons Conda, qui est préinstallé sur les instances de calcul AzureML. Pour obtenir un guide détaillé de configuration de Conda, consulte le guide de démarrage rapide Conda d'Ultralytics.
Crée un environnement Conda (par exemple, yolov5env) avec une version spécifique de Python, puis 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 installed2. Cloner le dépôt YOLOv5#
Clone le dépôt officiel Ultralytics YOLOv5 depuis GitHub à l'aide de 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 --recursive3. Installer les dépendances#
Installe les packages Python nécessaires répertoriés dans le fichier requirements.txt. Nous installons également ONNX pour pouvoir exporter les modèles.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exporting4. Effectuer des tâches YOLOv5#
Une fois la configuration terminée, tu peux entraîner, valider, effectuer des inférences et exporter ton modèle YOLOv5.
-
Entraîne le modèle sur un jeu de données tel que 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é à l'aide de métriques telles que la Précision, le Rappel et la mAP. Consulte le guide du mode Validation pour connaître les options disponibles.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Effectue des inférences sur de nouvelles images ou vidéos. Consulte la documentation du mode Prédiction pour découvrir les différentes 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 tels que ONNX, TensorRT ou CoreML pour le déploiement. Consulte le guide du mode Export 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, actualise ton navigateur. Lorsque tu ouvres ou crées un fichier notebook .ipynb, sélectionne ton nouveau noyau ("Python (yolov5env)") dans le menu déroulant des noyaux situé en haut à droite.
Exécuter des commandes dans les cellules d'un notebook#
-
Cellules Python : Le code des cellules Python s'exécutera automatiquement avec le noyau
yolov5envsélectionné. -
Cellules Bash : Pour exécuter des commandes shell, utilise la commande magique
%%bashau début de la cellule. Pense à activer ton environnement Conda dans chaque cellule bash, car elles n'héritent pas automatiquement du contexte d'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 correctement configuré et exécuté Ultralytics YOLOv5 sur AzureML. Pour aller plus loin, consulte d'autres intégrations Ultralytics ou la documentation YOLOv5 détaillée. La documentation AzureML pourra également t'être utile pour des scénarios avancés tels que l'entraînement distribué ou le déploiement d'un modèle en tant que point de terminaison.