YOLO11 🚀 sur AzureML
Qu'est-ce qu'Azure ?
Azure est la plateforme d’informatique en nuage de Microsoft, conçue pour aider les organisations à déplacer leurs charges de travail vers le nuage à partir de centres de données sur site. Avec la gamme complète de services en nuage, y compris ceux pour l’informatique, les bases de données, l’analytique, l’apprentissage automatique et la mise en réseau, les utilisateurs peuvent choisir parmi ces services pour développer et mettre à l’échelle de nouvelles applications, ou exécuter des applications existantes, dans le nuage public.
Qu'est-ce qu'Azure Machine Learning (AzureML) ?
Azure Machine Learning, communément appelé AzureML, est un service cloud entièrement géré qui permet aux data scientists et aux développeurs d'intégrer efficacement l'analyse prédictive dans leurs applications, aidant ainsi les organisations à utiliser des ensembles de données massifs et à apporter tous les avantages du cloud au machine learning. AzureML offre une variété de services et de capacités visant à rendre le machine learning accessible, facile à utiliser et évolutif. Il offre des fonctionnalités telles que le machine learning automatisé, la formation de modèles par glisser-déposer, ainsi qu'un SDK python robuste afin que les développeurs puissent tirer le meilleur parti de leurs modèles de machine learning.
Comment AzureML profite-t-il aux utilisateurs de YOLO ?
Pour les utilisateurs de YOLO (You Only Look Once), AzureML fournit une plateforme robuste, évolutive et efficace pour entraîner et déployer des modèles d'apprentissage automatique. Que vous cherchiez à exécuter des prototypes rapides ou à évoluer pour gérer des données plus volumineuses, l'environnement flexible et convivial d'AzureML offre divers outils et services adaptés à vos besoins. Vous pouvez utiliser AzureML pour :
- Gérez facilement de grands ensembles de données et des ressources de calcul pour l'entraînement.
- Utilisez des outils intégrés pour le prétraitement des données, la sélection des caractéristiques et l'entraînement du modèle.
- Collaborez plus efficacement grâce aux fonctionnalités de MLOps (Machine Learning Operations), y compris, mais sans s'y limiter, la surveillance, l'audit et le contrôle de version des modèles et des données.
Dans les sections suivantes, vous trouverez un guide de démarrage rapide expliquant comment exécuter les modèles de détection d'objets YOLO11 à l'aide d'AzureML, à partir d'un terminal de calcul ou d'un notebook.
Prérequis
Avant de commencer, assurez-vous d'avoir accès à un espace de travail AzureML. Si vous n'en avez pas, vous pouvez créer un nouvel espace de travail AzureML en suivant la documentation officielle d'Azure. Cet espace de travail sert d'emplacement centralisé pour gérer toutes les ressources AzureML.
Créer une instance de calcul
Depuis votre espace de travail AzureML, sélectionnez Compute > Compute instances > New, sélectionnez l'instance avec les ressources dont vous avez besoin.
Démarrage rapide depuis un terminal
Démarrez votre calcul et ouvrez un terminal :
Créer un environnement virtuel
Créez votre environnement virtuel conda avec votre version de python préférée et installez pip : Python 3.13.1 a quelques problèmes avec certaines dépendances dans AzureML.
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
Installer les dépendances requises :
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Effectuer des tâches YOLO11
Prédiction :
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Entraîner un modèle de détection pendant 10 epochs avec un learning_rate initial de 0.01 :
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Vous trouverez plus d'instructions pour utiliser l'Ultralytics CLI ici.
Démarrage rapide à partir d'un notebook
Créer un nouveau noyau IPython
Ouvrez le terminal de calcul.
Depuis votre terminal de calcul, vous devez créer un nouveau ipykernel (avec une version python spécifique - car Python 3.13.1 a quelques problèmes avec certaines dépendances dans AzureML) qui sera utilisé par votre notebook pour gérer vos dépendances :
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"
Fermez votre terminal et créez un nouveau notebook. À partir de votre notebook, vous pouvez sélectionner le nouveau noyau.
Ensuite, vous pouvez ouvrir une cellule Notebook et installer les dépendances requises:
%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Notez que nous devons utiliser le source activate yolo11env
pour toutes les cellules %%bash, afin de s'assurer que la cellule %%bash utilise l'environnement souhaité.
Exécutez quelques prédictions à l'aide de l'Ultralytics CLI :
%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Ou avec l'interface Python Ultralytics, par exemple pour entraîner le modèle:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official YOLO11n model
# Use the model
model.train(data="coco8.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX format
Vous pouvez utiliser soit l'interface de ligne de commande Ultralytics (CLI), soit l'interface Python pour exécuter les tâches YOLO11, comme décrit dans la section terminal ci-dessus.
En suivant ces étapes, vous devriez être en mesure de faire fonctionner rapidement YOLO11 sur AzureML pour des essais rapides. Pour des utilisations plus avancées, vous pouvez vous référer à la documentation complète d'AzureML dont le lien figure au début de ce guide.
Explorez davantage avec AzureML
Ce guide sert d'introduction pour vous aider à démarrer avec YOLO11 sur AzureML. Cependant, il ne fait qu'effleurer la surface de ce qu'AzureML peut offrir. Pour approfondir et exploiter pleinement le potentiel d'AzureML pour vos projets d'apprentissage automatique, envisagez d'explorer les ressources suivantes :
- Créer un actif de données : Découvrez comment configurer et gérer efficacement vos actifs de données dans l'environnement AzureML.
- Lancez une tâche AzureML : obtenez une compréhension complète de la façon de démarrer vos tâches d'apprentissage automatique sur AzureML.
- Enregistrer un modèle : Familiarisez-vous avec les pratiques de gestion des modèles, y compris l'enregistrement, le contrôle de version et le déploiement.
- Entraîner YOLO11 avec AzureML Python SDK : Explorez un guide étape par étape sur l'utilisation du SDK python AzureML pour entraîner vos modèles YOLO11.
- Entraîner YOLO11 avec AzureML CLI : Découvrez comment utiliser l'interface de ligne de commande pour rationaliser l'entraînement et la gestion des modèles YOLO11 sur AzureML.
FAQ
Comment exécuter YOLO11 sur AzureML pour l'entraînement de modèles ?
L'exécution de YOLO11 sur AzureML pour l'entraînement de modèles implique plusieurs étapes :
-
Créer une instance de calcul : À partir de votre espace de travail AzureML, accédez à Calcul > Instances de calcul > Nouveau, et sélectionnez l’instance requise.
-
Configuration de l’environnement : Démarrez votre instance de calcul, ouvrez un terminal et créez un environnement conda, et n’oubliez pas de définir votre version de python (python 3.13.1 n’est pas encore pris en charge) :
conda create --name yolo11env -y python=3.12 conda activate yolo11env conda install pip -y pip install ultralytics onnx
-
Exécuter les tâches YOLO11 : Utilisez la CLI Ultralytics pour entraîner votre modèle :
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Pour plus de détails, vous pouvez consulter les instructions pour utiliser l'interface de ligne de commande Ultralytics (CLI).
Quels sont les avantages de l'utilisation d'AzureML pour l'entraînement de YOLO11 ?
AzureML fournit un écosystème robuste et efficace pour l'entraînement des modèles YOLO11 :
- Évolutivité : Faites évoluer facilement vos ressources de calcul à mesure que la complexité de vos données et de votre modèle augmente.
- Intégration MLOps: Utilisez des fonctionnalités telles que le contrôle de version, la surveillance et l'audit pour rationaliser les opérations de ML.
- Collaboration : Partagez et gérez les ressources au sein des équipes, améliorant ainsi les flux de travail collaboratifs.
Ces avantages font d'AzureML une plateforme idéale pour les projets allant des prototypes rapides aux déploiements à grande échelle. Pour plus de conseils, consultez AzureML Jobs.
Comment puis-je résoudre les problèmes courants lors de l'exécution de YOLO11 sur AzureML ?
Le dépannage des problèmes courants avec YOLO11 sur AzureML peut impliquer les étapes suivantes :
- Problèmes de dépendance: Assurez-vous que tous les packages requis sont installés. Consultez le
requirements.txt
fichier pour les dépendances. - Configuration de l'Environnement : Vérifiez que votre environnement conda est correctement activé avant d'exécuter les commandes.
- Allocation des ressources : Assurez-vous que vos instances de calcul disposent de ressources suffisantes pour gérer la charge de travail d'entraînement.
Pour obtenir des conseils supplémentaires, consultez notre documentation Problèmes courants de YOLO.
Puis-je utiliser à la fois l'interface CLI Ultralytics et l'interface python sur AzureML ?
Oui, AzureML vous permet d'utiliser à la fois l'interface CLI Ultralytics et l'interface Python de manière transparente :
-
CLI: Idéal pour les tâches rapides et l'exécution de scripts standard directement depuis le terminal.
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
-
Interface python : Utile pour les tâches plus complexes nécessitant un codage personnalisé et une intégration dans les notebooks.
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="coco8.yaml", epochs=3)
Pour des instructions étape par étape, consultez le guide de démarrage rapide de la CLI et le guide de démarrage rapide de Python.
Quel est l'avantage d'utiliser Ultralytics YOLO11 par rapport à d'autres modèles de détection d'objets ?
Ultralytics YOLO11 offre plusieurs avantages uniques par rapport aux modèles de détection d'objets concurrents :
- Vitesse : Temps d'inférence et d'entraînement plus rapides par rapport aux modèles tels que Faster R-CNN et SSD.
- Précision : Haute précision dans les tâches de détection grâce à des fonctionnalités telles qu’une conception sans ancrage et des stratégies d’augmentation améliorées.
- Facilité d'utilisation : API et CLI intuitives pour une configuration rapide, la rendant accessible aux débutants comme aux experts.
Pour en savoir plus sur les fonctionnalités de YOLO11, consultez la page Ultralytics YOLO pour obtenir des informations détaillées.