Ultralytics YOLO27 :

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.

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

Ouvrir un terminal#

Une fois ton instance de calcul démarrée, tu peux accéder directement à son terminal depuis AzureML Studio.

  1. Accède à la section Notebooks dans le volet de gauche.
  2. Dans le menu déroulant supérieur, trouve ton instance de calcul.
  3. Clique sur l'option Terminal située sous l'explorateur de fichiers pour ouvrir une interface de ligne de commande sur ton instance.

Emplacement du bouton d'ouverture du terminal Azure ML

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 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

3. 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 exporting

4. 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 comme COCO128. Consulte le tutoriel Entraîner des données personnalisées 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 le mAP. Exécute python val.py --help pour toutes 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. Consulte le Guide de démarrage rapide de YOLOv5 pour connaître les sources d'inférence prises en charge.

    # 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 tutoriel Exportation de modèle 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 yolov5env sélectionné.

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

FAQ#

  • Une instance de CPU suffit pour l'inférence et les tests courts sur COCO128, mais le véritable entraînement nécessite une taille de GPU. Sélectionne une machine virtuelle GPU lors de la création de l'instance de calcul et confirme que PyTorch la détecte avec python -c "import torch; print(torch.cuda.is_available())".

  • Les cellules Bash n'héritent pas de l'environnement du noyau du notebook. Commence chaque cellule %%bash par source activate yolov5env, ou exécute les cellules Python avec le noyau Python (yolov5env) que tu as créé.

  • Les fichiers sous le partage de fichiers de l'espace de travail monté sur ~/cloudfiles persistent entre les arrêts et sont visibles depuis d'autres instances de calcul. Tout ce qui se trouve ailleurs sur le disque de l'instance est conservé tant que l'instance existe, mais est perdu si elle est supprimée.

  • Oui. pip install ultralytics te permet d'effectuer l'entraînement, la validation et l'exportation de YOLO26 avec l'interface CLI yolo dans le même environnement Conda. Consulte le Guide de démarrage rapide d'AzureML pour la procédure pas à pas basée sur les packages.

Commentaires