Formation YOLOv8 avec ClearML: Rationalisation du flux de travail de MLOps
MLOps comble le fossé entre la création et le déploiement de modèles d'apprentissage automatique dans le monde réel. Il se concentre sur le déploiement efficace, l'évolutivité et la gestion continue pour s'assurer que les modèles fonctionnent bien dans les applications pratiques.
Ultralytics YOLOv8 s'intègre sans effort à ClearML, rationalisant et améliorant la formation et la gestion de ton modèle de détection d'objets. Ce guide t'accompagnera tout au long du processus d'intégration, en détaillant comment configurer ClearML, gérer les expériences, automatiser la gestion des modèles et collaborer efficacement.
ClearML
ClearML est une plateforme MLOps open-source innovante habilement conçue pour automatiser, surveiller et orchestrer les flux de travail d'apprentissage automatique. Ses principales caractéristiques comprennent l'enregistrement automatisé de toutes les données d'entraînement et d'inférence pour une reproductibilité totale des expériences, une interface Web intuitive pour une visualisation et une analyse faciles des données, des algorithmes avancés d'optimisation des hyperparamètres et une gestion robuste des modèles pour un déploiement efficace sur diverses plateformes.
YOLOv8 Formation avec ClearML
Tu peux apporter de l'automatisation et de l'efficacité à ton flux de travail d'apprentissage automatique en améliorant ton processus de formation en intégrant YOLOv8 à ClearML.
Installation
Pour installer les paquets nécessaires, exécute :
Pour des instructions détaillées et les meilleures pratiques relatives au processus d'installation, n'oublie pas de consulter notre guide d'installationYOLOv8 . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.
Configurer ClearML
Une fois que tu as installé les paquets nécessaires, l'étape suivante consiste à initialiser et à configurer ton ClearML SDK. Cela implique de configurer ton compte ClearML et d'obtenir les informations d'identification nécessaires pour une connexion transparente entre ton environnement de développement et le serveur ClearML .
Commence par initialiser le SDK ClearML dans ton environnement. La commande 'clearml-init' lance le processus d'installation et te demande les informations d'identification nécessaires.
Après avoir exécuté cette commande, visite la pageClearML Settings. Navigue dans le coin supérieur droit et sélectionne "Paramètres". Va dans la section "Espace de travail" et clique sur "Créer de nouvelles informations d'identification". Utilise les informations d'identification fournies dans la fenêtre contextuelle "Create Credentials" pour terminer la configuration selon les instructions, selon que tu configures ClearML dans un Jupyter Notebook ou dans un environnement local Python .
Utilisation
Avant de te plonger dans les instructions d'utilisation, n'oublie pas de consulter la gamme de modèlesYOLOv8 proposée par Ultralytics. Cela t'aidera à choisir le modèle le plus approprié aux exigences de ton projet.
Utilisation
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
Comprendre le code
Comprenons les étapes présentées dans l'extrait de code d'utilisation ci-dessus.
Étape 1 : Création d'une tâche ClearML : Une nouvelle tâche est initialisée dans ClearML, en spécifiant les noms de ton projet et de ta tâche. Cette tâche suivra et gérera l'entraînement de ton modèle.
Étape 2 : Sélection du modèle YOLOv8: Le model_variant
La variable est définie sur "yolov8n", l'un des modèles YOLOv8 . Cette variante est ensuite enregistrée dans ClearML pour le suivi.
Étape 3 : Chargement du modèle YOLOv8 : Le modèle YOLOv8 sélectionné est chargé à l'aide de la classe Ultralytics'YOLO , ce qui le prépare à la formation.
Étape 4 : Mise en place d'arguments de formation: Les arguments clés de l'entraînement comme l'ensemble de données (coco8.yaml
) et le nombre d'Ă©poques (16
) sont organisées dans un dictionnaire et reliées à la tâche ClearML . Cela permet un suivi et une modification potentielle via l'interface utilisateur ClearML . Pour une compréhension détaillée du processus de formation des modèles et des meilleures pratiques, reporte-toi à notre site Web. YOLOv8 Modèle Guide de formation.
Étape 5 : Initier la formation au modèle: La formation du modèle est lancée avec les arguments spécifiés. Les résultats du processus de formation sont capturés dans le fichier results
variable.
Comprendre les résultats
En exécutant l'extrait de code d'utilisation ci-dessus, tu peux t'attendre à obtenir le résultat suivant :
- Un message de confirmation indiquant la création d'une nouvelle tâche ClearML , ainsi que son identifiant unique.
- Un message d'information sur le code du script stocké, indiquant que l'exécution du code est suivie par ClearML.
- Un lien URL vers la page de résultats ClearML où tu peux suivre la progression de l'entraînement et consulter des journaux détaillés.
- Progression du téléchargement du modèle YOLOv8 et de l'ensemble de données spécifié, suivie d'un résumé de l'architecture du modèle et de la configuration de l'entraînement.
- Messages d'initialisation pour divers composants de formation comme TensorBoard, la précision mixte automatique (AMP) et la préparation des jeux de données.
- Enfin, le processus de formation commence, avec des mises à jour de la progression au fur et à mesure que le modèle s'entraîne sur l'ensemble de données spécifié. Pour une compréhension approfondie des mesures de performance utilisées pendant la formation, lis notre guide sur les mesures de performance.
Affichage de la page de résultats ClearML
En cliquant sur le lien URL vers la page de résultats ClearML dans la sortie de l'extrait de code d'utilisation, tu peux accéder à une vue d'ensemble du processus de formation de ton modèle.
Principales caractéristiques de la page de résultats ClearML
-
Suivi des mesures en temps réel
- Effectue le suivi des mesures critiques telles que les pertes, la précision et les scores de validation au fur et à mesure qu'elles se produisent.
- Fournit un retour d'information immédiat permettant d'ajuster les performances du modèle en temps voulu.
-
Comparaison des expériences
- Compare différentes séries d'entraînement côte à côte.
- Essentiel pour le réglage des hyperparamètres et l'identification des modèles les plus efficaces.
-
Journaux et sorties détaillés
- Accède à des journaux complets, à des représentations graphiques des mesures et à des sorties de console.
- Comprends mieux le comportement des modèles et la résolution des problèmes.
-
Surveillance de l'utilisation des ressources
- Surveille l'utilisation des ressources informatiques, notamment le processeur, le GPU et la mémoire.
- La clé pour optimiser l'efficacité et les coûts de la formation.
-
Gestion des artefacts du modèle
- Visualise, télécharge et partage les artefacts du modèle comme les modèles formés et les points de contrôle.
- Améliore la collaboration et rationalise le déploiement et le partage des modèles.
Pour une démonstration visuelle de ce à quoi ressemble la page de résultats ClearML , regarde la vidéo ci-dessous :
Regarde : YOLOv8 Intégration de MLOps à l'aide de ClearML
Fonctions avancées dans ClearML
ClearML offre plusieurs fonctions avancées pour améliorer ton expérience de MLOps.
Exécution à distance
ClearMLLa fonction d'exécution à distance du logiciel facilite la reproduction et la manipulation d'expériences sur différentes machines. Elle enregistre des détails essentiels tels que les paquets installés et les changements non validés. Lorsqu'une tâche est mise en file d'attente, l'agent ClearML l'extrait, recrée l'environnement et exécute l'expérience, en communiquant des résultats détaillés.
Le déploiement d'un agent ClearML est simple et peut être effectué sur différentes machines à l'aide de la commande suivante :
Cette configuration est applicable aux VM du cloud, aux GPU locaux ou aux ordinateurs portables. ClearML Les autoscalers aident à gérer les charges de travail dans le cloud sur des plateformes comme AWS, GCP et Azure, en automatisant le déploiement des agents et en ajustant les ressources en fonction de ton budget de ressources.
Clonage, Ă©dition et mise en file d'attente
ClearMLL'interface conviviale du logiciel permet de cloner, d'éditer et de mettre en file d'attente les tâches. Les utilisateurs peuvent cloner une expérience existante, ajuster les paramètres ou d'autres détails par le biais de l'interface utilisateur, et mettre la tâche en file d'attente pour exécution. Ce processus rationalisé garantit que l'agent ClearML qui exécute la tâche utilise des configurations mises à jour, ce qui en fait un outil idéal pour l'expérimentation itérative et la mise au point du modèle.
Résumé
Ce guide t'a guidé à travers le processus d'intégration de ClearML avec Ultralytics'YOLOv8. En couvrant tous les aspects, de la configuration initiale à la gestion avancée des modèles, tu as découvert comment tirer parti de ClearML pour une formation efficace, un suivi des expériences et une optimisation du flux de travail dans tes projets d'apprentissage automatique.
Pour plus de détails sur l'utilisation, consulte la documentation officielle deClearML.
De plus, explore d'autres intégrations et capacités de Ultralytics en visitant la page du guide d'intégration deUltralytics , qui est une mine de ressources et d'informations.