Ultralytics YOLOv5 🚀 on AzureML Quickstart
Bienvenue sur le site Ultralytics YOLOv5 pour Microsoft Azure Machine Learning (AzureML) ! Ce guide vous guidera dans la mise en place de YOLOv5 sur une instance de calcul AzureML, couvrant tout depuis la création d'un environnement virtuel jusqu'à 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 d'informatique en nuage de Microsoft. Elle offre une vaste gamme 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 de mise en réseau. Azure permet aux entreprises de créer, de déployer et de gérer des applications et des services par l'intermédiaire de centres de données Microsoft, facilitant ainsi la migration des charges de travail de l'infrastructure sur site vers le cloud.
Qu'est-ce que Azure Machine Learning (AzureML) ?
Azure Machine Learning (AzureML) est un service cloud spécialisé conçu pour développer, former et déployer des modèles d'apprentissage automatique. Il fournit un environnement collaboratif avec des outils adaptés aux scientifiques des données et aux développeurs de tous niveaux. Ses principales caractéristiques sont l'apprentissage automatique (AutoML), une interface de type "glisser-déposer" pour la création de modèles, et un puissant outil d'apprentissage automatique en Python SDK pour un contrôle plus granulaire du cycle de vie de l'apprentissage automatique. AzureML simplifie le processus d'intégration de la modélisation prédictive dans les applications.
Conditions préalables
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 d'espace de travail configuré, veuillez vous référer à la documentation officielle d'Azure pour en créer un.
Créer une instance de calcul
Une instance de calcul dans AzureML fournit un poste de travail géré dans le nuage pour les scientifiques des données.
- Naviguez vers votre espace de travail AzureML.
- Dans le volet de gauche, sélectionnez Compute.
- Allez dans l'onglet Instances de calcul et cliquez sur Nouveau.
- Configurez votre instance en sélectionnant le CPU ou le GPU en fonction de vos besoins en matière de formation ou d'inférence.
Ouvrir un terminal
Une fois que votre instance de calcul est en cours d'exécution, vous pouvez accéder à son terminal directement depuis le studio AzureML.
- Allez dans la section Carnets de notes dans le panneau de gauche.
- Trouvez votre instance de calcul dans le menu déroulant supérieur.
- Cliquez sur l'option Terminal sous le navigateur de fichiers pour ouvrir une interface de ligne de commande à votre instance.
Installation et lancement de YOLOv5
Maintenant, configurons l'environnement et lançons Ultralytics YOLOv5.
1. Créer un environnement virtuel
La meilleure pratique consiste à 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, voir le Ultralytics Conda Quickstart Guide.
Créer un environnement Conda (par exemple, yolov5env
) avec une version spécifique de Python et l'activer :
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 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 --recursive
3. Installer les dépendances
Installez les paquets Python nécessaires énumérés dans le fichier 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. Exécuter les tâches de YOLOv5
Une fois la configuration terminée, vous pouvez maintenant entraîner, valider, effectuer l'inférence et exporter votre modèle YOLOv5 .
-
Entraînez le modèle sur un ensemble de données comme COCO128. Consultez la documentation sur le 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
-
Validez les performances du modèle formé à l'aide de mesures telles que Precision, Recall et mAP. Voir le guide du mode de validation pour les options.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640
-
Lancer l'inférence sur de nouvelles images ou vidéos. Consultez la documentation sur le mode de prédiction pour connaître 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
-
Exporter le modèle dans différents formats comme ONNX, TensorRTou CoreML pour le déploiement. Reportez-vous au guide du mode d'exportation et à la page d'intégrationONNX .
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Utilisation d'un carnet de notes
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
sélectionnez votre nouveau noyau (Python (yolov5env)") dans le menu déroulant du noyau en haut à droite.
Exécution de commandes dans les cellules du carnet
-
Cellules Python : Le code dans les cellules Python sera automatiquement exécuté à l'aide de l'outil sélectionné.
yolov5env
noyau. -
Cellules Bash : Pour exécuter des commandes de l'interpréteur de commandes, utilisez l'option
%%bash
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 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
Nous vous félicitons ! Vous avez configuré et exécuté avec succès Ultralytics YOLOv5 sur AzureML. Pour aller plus loin, vous pouvez consulter d'autres intégrationsUltralytics ou la documentation détaillée deYOLOv5 . La documentation AzureML peut également vous être utile pour des scénarios avancés tels que la formation distribuée ou le déploiement de modèles en tant que point final.