Skip to content

YOLOv8 🚀 sur AzureML

Qu'est-ce qu'Azure ?

Azure est la plateforme de cloud computing de Microsoft's, conçue pour aider les organisations à déplacer leurs charges de travail vers le cloud depuis les centres de données sur site. Avec le spectre complet des services cloud, 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 cloud public.

Qu'est-ce que Azure Machine Learning (AzureML) ?

Azure Machine Learning, communément appelé AzureML, est un service cloud entièrement géré qui permet aux scientifiques des données et aux développeurs d'intégrer efficacement l'analyse prédictive dans leurs applications, en aidant les organisations à utiliser des ensembles de données massives et à apporter tous les avantages du cloud à l'apprentissage automatique. AzureML offre une variété de services et de capacités visant à rendre l'apprentissage automatique accessible, facile à utiliser et évolutif. Il offre des capacités telles que l'apprentissage automatique, la formation de modèles par glisser-déposer, ainsi qu'un SDK Python robuste pour que les développeurs puissent tirer le meilleur parti de leurs modèles d'apprentissage automatique.

Quels sont les avantages d'AzureML pour les utilisateurs de YOLO ?

Pour les utilisateurs de YOLO (You Only Look Once), AzureML fournit une plateforme robuste, évolutive et efficace pour former et déployer des modèles d'apprentissage automatique. Que tu cherches à exécuter des prototypes rapides ou à passer à l'échelle supérieure pour traiter des données plus importantes, l'environnement flexible et convivial d'AzureML offre divers outils et services pour répondre à tes besoins. Tu peux tirer parti d'AzureML pour :

  • Gère facilement les grands ensembles de donnĂ©es et les ressources informatiques pour la formation.
  • Utilise les outils intĂ©grĂ©s pour le prĂ©traitement des donnĂ©es, la sĂ©lection des caractĂ©ristiques et la formation des modèles.
  • Collabore plus efficacement grâce aux capacitĂ©s de MLOps (Machine Learning Operations), y compris, mais sans s'y limiter, la surveillance, l'audit et le versionnage des modèles et des donnĂ©es.

Dans les sections suivantes, tu trouveras un guide de démarrage rapide détaillant comment exécuter les modèles de détection d'objets YOLOv8 à l'aide d'AzureML, que ce soit à partir d'un terminal de calcul ou d'un ordinateur portable.

Conditions préalables

Avant de commencer, assure-toi d'avoir accès à un espace de travail AzureML. Si tu n'en as pas, tu peux créer un nouvel espace de travail AzureML en suivant la documentation officielle d'Azure. Cet espace de travail sert d'endroit centralisé pour gérer toutes les ressources AzureML.

Créer une instance de calcul

Dans ton espace de travail AzureML, sélectionne Compute > Instances de calcul > Nouveau, sélectionne l'instance avec les ressources dont tu as besoin.

Créer une instance de calcul Azure

DĂ©marrage rapide Ă  partir du terminal

DĂ©marre ton ordinateur et ouvre un Terminal :

Terminal ouvert

Créer un serveur virtuel

Crée ton virtualenv conda et installe pip dedans :

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y

Installe les dépendances nécessaires :

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Effectue des tâches sur YOLOv8

Prédisez :

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Entraîne un modèle de détection pendant 10 époques avec un taux d'apprentissage initial de 0,01 :

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Tu trouveras plus d'instructions pour utiliser le site Ultralytics CLI ici.

DĂ©marrage rapide Ă  partir d'un carnet de notes

Crée un nouveau noyau IPython

Ouvre le terminal de calcul.

Terminal ouvert

Depuis ton terminal de calcul, tu dois créer un nouveau ipykernel qui sera utilisé par ton carnet pour gérer tes dépendances :

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolov8env --display-name "yolov8env"

Ferme ton terminal et crée un nouveau carnet de notes. À partir de ton carnet, tu peux sélectionner le nouveau noyau.

Tu peux ensuite ouvrir une cellule du carnet de notes et installer les dépendances nécessaires :

%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Note que nous devons utiliser le source activate yolov8env pour toutes les cellules %%bash, afin de s'assurer que la cellule %%bash utilise l'environnement que nous voulons.

Effectue quelques prédictions à l'aide de la fonction Ultralytics CLI:

%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Ou avec l'interfaceUltralytics Python , par exemple pour entraîner le modèle :

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official YOLOv8n 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

Tu peux utiliser l'interface Ultralytics CLI ou Python pour exécuter les tâches YOLOv8 , comme décrit dans la section sur les terminaux ci-dessus.

En suivant ces étapes, tu devrais pouvoir faire fonctionner YOLOv8 rapidement sur AzureML pour des essais rapides. Pour des utilisations plus avancées, tu peux te référer à la documentation complète d'AzureML dont le lien figure au début de ce guide.

En savoir plus sur AzureML

Ce guide sert d'introduction pour te permettre d'utiliser YOLOv8 sur AzureML. Cependant, il ne fait qu'effleurer la surface de ce qu'AzureML peut offrir. Pour aller plus loin et libérer tout le potentiel d'AzureML pour tes projets d'apprentissage automatique, pense à explorer les ressources suivantes :

  • CrĂ©er un actif de donnĂ©es : Apprends Ă  configurer et Ă  gĂ©rer efficacement tes actifs de donnĂ©es dans l'environnement AzureML.
  • Lancer un travail AzureML: Comprends bien comment donner le coup d'envoi Ă  tes travaux de formation Ă  l'apprentissage automatique sur AzureML.
  • Enregistrer un modèle: Familiarise-toi avec les pratiques de gestion des modèles, notamment l'enregistrement, le versionnage et le dĂ©ploiement.
  • EntraĂ®ner YOLOv8 avec AzureML Python SDK: Explore un guide Ă©tape par Ă©tape sur l'utilisation du SDK AzureML Python pour entraĂ®ner tes modèles YOLOv8 .
  • Former YOLOv8 avec AzureML CLI: DĂ©couvre comment utiliser l'interface de ligne de commande pour rationaliser la formation et la gestion des modèles YOLOv8 sur AzureML.

FAQ

Comment exécuter YOLOv8 sur AzureML pour l'entraînement des modèles ?

L'exécution de YOLOv8 sur AzureML pour la formation de modèles implique plusieurs étapes :

  1. Créer une instance de calcul: Depuis ton espace de travail AzureML, navigue vers Compute > Instances de calcul > Nouveau, et sélectionne l'instance requise.

  2. Configuration de l'environnement: Démarre ton instance de calcul, ouvre un terminal et crée un environnement conda :

    conda create --name yolov8env -y
    conda activate yolov8env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. Exécute YOLOv8 Tâches : Utilise le site Ultralytics CLI pour entraîner ton modèle :

    yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01
    

Pour plus de détails, tu peux te référer au mode d'emploi du site Ultralytics CLI .

Quels sont les avantages de l'utilisation d'AzureML pour la formation YOLOv8 ?

AzureML fournit un écosystème robuste et efficace pour la formation des modèles YOLOv8 :

  • ÉvolutivitĂ©: Fais facilement Ă©voluer tes ressources de calcul Ă  mesure que la complexitĂ© de tes donnĂ©es et de tes modèles augmente.
  • IntĂ©gration MLOps: Utilise des fonctions telles que le versionnage, la surveillance et l'audit pour rationaliser les opĂ©rations de ML.
  • Collaboration: Partage et gère les ressources au sein des Ă©quipes, en amĂ©liorant 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, consulte AzureML Jobs.

Comment résoudre les problèmes courants lors de l'exécution de YOLOv8 sur AzureML ?

La résolution des problèmes courants liés à YOLOv8 sur AzureML peut passer par les étapes suivantes :

  • Questions de dĂ©pendance: Assure-toi que tous les paquets requis sont installĂ©s. Reporte-toi Ă  la requirements.txt pour les dĂ©pendances.
  • Configuration de l'environnement: VĂ©rifie que ton environnement conda est correctement activĂ© avant d'exĂ©cuter des commandes.
  • Allocation des ressources: Assure-toi que tes instances de calcul disposent de suffisamment de ressources pour gĂ©rer la charge de travail de la formation.

Pour obtenir des conseils supplémentaires, consulte notre documentation YOLO Common Issues.

Puis-je utiliser les interfaces Ultralytics CLI et Python sur AzureML ?

Oui, AzureML te permet d'utiliser à la fois l'interface Ultralytics CLI et l'interface Python de façon transparente :

  • CLI: IdĂ©al pour les tâches rapides et l'exĂ©cution de scripts standard directement Ă  partir du terminal.

    yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Python Interface: Utile pour les tâches plus complexes nĂ©cessitant un codage personnalisĂ© et une intĂ©gration dans les carnets.

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Reporte-toi aux guides de démarrage rapide pour des instructions plus détaillées ici et ici.

Quel est l'avantage d'utiliser Ultralytics YOLOv8 par rapport à d'autres modèles de détection d'objets ?

Ultralytics YOLOv8 offre plusieurs avantages uniques par rapport aux modèles de détection d'objets concurrents :

  • Vitesse: InfĂ©rence et temps de formation plus rapides par rapport Ă  des modèles comme R-CNN plus rapide et SSD.
  • PrĂ©cision: grande prĂ©cision dans les tâches de dĂ©tection grâce Ă  des caractĂ©ristiques telles que la conception sans ancrage et des stratĂ©gies d'augmentation amĂ©liorĂ©es.
  • FacilitĂ© d'utilisation: API intuitive et CLI pour une configuration rapide, ce qui le rend accessible aussi bien aux dĂ©butants qu'aux experts.

Pour en savoir plus sur les fonctionnalités de YOLOv8, visite la page Ultralytics YOLO pour obtenir des informations détaillées.



Créé le 2023-11-12, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (5), ouphi (1)

Commentaires