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.
DĂ©marrage rapide Ă partir du terminal
DĂ©marre ton ordinateur et ouvre un Terminal :
Créer un serveur virtuel
Crée ton virtualenv conda et installe pip dedans :
Installe les dépendances nécessaires :
Effectue des tâches sur YOLOv8
Prédisez :
Entraîne un modèle de détection pendant 10 époques avec un taux d'apprentissage initial de 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.
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 :
-
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.
-
Configuration de l'environnement: Démarre ton instance de calcul, ouvre un terminal et crée un environnement conda :
-
Exécute YOLOv8 Tâches : Utilise le site Ultralytics CLI pour entraîner ton modèle :
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.
-
Python Interface: Utile pour les tâches plus complexes nécessitant un codage personnalisé et une intégration dans les carnets.
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.