Skip to content

YOLOv8 🚀 sur AzureML

Qu'est-ce qu'Azure ?

Azure est la plateforme de cloud computing de Microsoft, 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=coco128.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="coco128.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.


Créé le 2023-11-12, Mis à jour le 2023-11-16
Auteurs : glenn-jocher (2), ouphi (1)

Commentaires