Skip to content

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 Vue d'ensemble

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 :

Installation

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

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 t'invite à fournir les informations d'identification nécessaires.

Configuration initiale du SDK

# Initialize your ClearML SDK setup process
clearml-init

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="coco128.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 la formation comme l'ensemble de données (coco128.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, tu peux te référer à la section 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 :

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

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.


Clonage, Ă©dition et mise en file d'attente avec ClearML

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.

En outre, 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.



Créé le 2023-11-29, Mis à jour le 2024-02-03
Auteurs : glenn-jocher (5), abirami-vina (1)

Commentaires