Ultralytics YOLOv5 🚀 sur le démarrage rapide AzureML
Bienvenue dans le guide de démarrage rapide YOLOv5 d'Ultralytics pour Microsoft Azure Machine Learning (AzureML) ! Ce guide vous expliquera comment configurer YOLOv5 sur une instance de calcul AzureML, en couvrant tous les aspects, de la création d'un environnement virtuel à l'entraînement et à l'exécution de 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 une vaste gamme de services, notamment la puissance de calcul, des bases de données, des outils d'analyse, des capacités d'apprentissage automatique et des solutions de mise en réseau. Azure permet aux organisations de créer, de déployer et de 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 de l'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. Les principales fonctionnalités incluent l'apprentissage automatique automatisé (AutoML), une interface glisser-déposer pour la création de modèles et un puissant SDK Python pour un contrôle plus précis du cycle de vie du ML. AzureML simplifie le processus d'intégration de la modélisation prédictive dans les applications.
Prérequis
Pour suivre ce guide, vous aurez besoin d'un abonnement Azure actif et d'un accès à un espace de travail AzureML. Si vous n'avez pas configuré d'espace de travail, veuillez consulter la documentation Azure officielle pour en créer un.
Créer une instance de calcul
Une instance de calcul dans AzureML fournit un poste de travail géré basé sur le cloud pour les data scientists.
- Accédez à votre espace de travail AzureML.
- Dans le volet de gauche, sélectionnez Calcul.
- Accédez à l’onglet Compute instances (Instances de calcul) et cliquez sur New (Nouveau).
- Configurez votre instance en sélectionnant les ressources CPU ou GPU appropriées en fonction de vos besoins pour l’entraînement ou l’inférence.
Ouvrir un terminal
Une fois votre instance de calcul en cours d'exécution, vous pouvez accéder à son terminal directement depuis AzureML Studio.
- Accédez à la section Notebooks (Blocs-notes) dans le volet gauche.
- Trouvez votre instance de calcul dans le menu déroulant supérieur.
- Cliquez sur l'option Terminal sous l'explorateur de fichiers pour ouvrir une interface de ligne de commande vers votre instance.
Configuration et exécution de YOLOv5
Nous allons maintenant configurer l'environnement et exécuter 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 un guide d’installation détaillé de Conda, consultez le Guide de démarrage rapide Conda d’Ultralytics.
Créer un environnement Conda (par exemple, yolov5env
) avec une version spécifique de python et activez-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 installed
2. Cloner le dépôt YOLOv5
Clonez le référentiel 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 --recursive
3. Installer les dépendances
Installez les paquets python nécessaires listés dans le requirements.txt
fichier. Nous installons également ONNX pour les capacités d'exportation de modèles.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Effectuer les tâches YOLOv5
Une fois la configuration terminée, vous pouvez maintenant entraîner, valider, effectuer l'inférence et exporter votre modèle YOLOv5.
-
Entraîner le modèle sur un jeu de données tel que COCO128. Consultez la documentation du mode d'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
-
Valider les performances du modèle entraîné à l'aide de métriques telles que la précision, le rappel et la mAP. Consultez le guide du mode de validation pour connaître les options.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640
-
Exécuter l'inférence sur de nouvelles images ou vidéos. Explorez 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
-
Exporter le modèle vers différents formats tels que ONNX, TensorRT ou CoreML pour le déploiement. Consultez le guide du mode d’exportation et la page d’intégration ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Utilisation d'un Notebook
Si vous préférez une expérience interactive, vous pouvez exécuter ces commandes dans un notebook AzureML. Vous devrez créer un noyau IPython personnalisé lié à votre environnement Conda.
Créer un nouveau noyau IPython
Exécutez les commandes suivantes dans le terminal de votre 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, actualisez votre navigateur. Lorsque vous ouvrez ou créez un .ipynb
fichier notebook, sélectionnez votre nouveau noyau (« Python (yolov5env) ») dans le menu déroulant du noyau en haut à droite.
Exécution de commandes dans des cellules de bloc-notes
-
Cellules Python : Le code dans les cellules Python s'exécutera automatiquement en utilisant le
yolov5env
noyau. -
Cellules Bash : Pour exécuter des commandes shell, utilisez la commande suivante :
%%bash
commande magic au début de la cellule. N'oubliez pas d'activer votre 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 ! Vous avez correctement configuré et exécuté Ultralytics YOLOv5 sur AzureML. Pour une exploration plus approfondie, pensez à consulter d’autres intégrations Ultralytics ou la documentation YOLOv5 détaillée. Vous pourriez é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.