YOLO Vision 2026 :

Ultralytics YOLOv5 🚀 sur le démarrage rapide AzureML#

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 couvrant 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 un vaste éventail 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 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 de machine learning. Il fournit un environnement collaboratif doté d'outils adaptés aux data scientists et aux développeurs de tous niveaux. Ses principales fonctionnalités incluent le machine learning automatisé (AutoML), une interface par glisser-déposer pour la création de modèles et un puissant kit SDK Python pour un contrôle plus granulaire 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, tu auras besoin d'un abonnement Azure actif et d'un accès à un espace de travail AzureML. Si tu n'as pas configuré d'espace de travail, réfère-toi à 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 gérée basée sur le cloud pour les data scientists.

  1. Navigue vers ton espace de travail AzureML.
  2. Dans le volet de gauche, sélectionne Compute.
  3. Va sur l'onglet Compute instances et clique sur New.
  4. 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.
Azure ML create compute instance interface

Ouvrir un terminal#

Une fois que ton instance de calcul est en cours d'exécution, tu peux accéder à son terminal directement depuis le studio AzureML.

  1. Va dans la section Notebooks du volet de gauche.
  2. Trouve ton instance de calcul dans le menu déroulant en haut.
  3. Clique sur l'option Terminal sous le navigateur de fichiers pour ouvrir une interface de ligne de commande vers ton instance.

Emplacement du bouton d'ouverture du terminal Azure ML

Configurer et exécuter YOLOv5#

Maintenant, configurons 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 un guide détaillé sur la 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 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 installed

2. 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 --recursive

3. Installer les dépendances#

Installe les paquets Python nécessaires répertoriés dans le fichier requirements.txt. Nous installons également ONNX pour les fonctionnalité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 des tâches YOLOv5#

Une fois la configuration terminée, tu peux désormais entraîner, valider, effectuer des inférences et exporter ton modèle YOLOv5.

  • Entraîne (Train) le modèle sur un jeu de données tel que COCO128. Consulte la documentation sur le 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 (Validate) les performances du modèle entraîné à l'aide de métriques telles que la précision, le rappel et le mAP. Consulte le guide du mode Validation pour découvrir 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 (Run Inference) sur de nouvelles images ou vidéos. Explore la documentation sur le mode 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
  • Exporte (Export) le modèle vers différents formats tels que ONNX, TensorRT ou CoreML pour le déploiement. Réfère-toi au guide du mode Exportation et à la page sur l'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 au sein d'un bloc-notes AzureML (Notebook). 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 de bloc-notes .ipynb, sélectionne ton nouveau noyau (« Python (yolov5env) ») dans le menu déroulant des noyaux en haut à droite.

Exécuter des commandes dans les cellules de notebook#

  • Cellules Python : Le code des cellules Python s'exécutera automatiquement en utilisant le noyau yolov5env sélectionné.

  • Cellules Bash : Pour exécuter des commandes shell, utilise la commande magique %%bash au 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 d'environnement du noyau du bloc-notes.

    %%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 tels que l'entraînement distribué ou le déploiement de modèles en tant qu'endpoint.

Commentaires