Passer au contenu

Entraînement de YOLO11 avec ClearML : rationalisation de votre flux de travail MLOps

MLOps comble le fossé entre la création et le déploiement de modèles de machine learning dans des contextes réels. Il se concentre sur le déploiement efficace, l'évolutivité et la gestion continue pour garantir que les modèles fonctionnent bien dans les applications pratiques.

Ultralytics YOLO11 s'intègre sans effort à ClearML, rationalisant et améliorant l'entraînement et la gestion de votre modèle de détection d'objets. Ce guide vous expliquera le 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

Présentation de ClearML

ClearML est une plateforme MLOps open source innovante, habilement conçue pour automatiser, surveiller et orchestrer les flux de travail de machine learning. Ses principales fonctionnalités incluent l'enregistrement automatisé de toutes les données d'entraînement et d'inférence pour une reproductibilité complète des expériences, une interface utilisateur Web intuitive pour faciliter la visualisation des données et l'analyse, des algorithmes d'optimisation avancés des hyperparamètres et une gestion robuste des modèles pour un déploiement efficace sur diverses plateformes.

Entraînement YOLO11 avec ClearML

Vous pouvez apporter automatisation et efficacité à votre flux de travail de machine learning en améliorant votre processus de formation en intégrant YOLO11 à ClearML.

Installation

Pour installer les packages requis, exécutez :

Installation

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

Pour obtenir des instructions détaillées et les meilleures pratiques relatives au processus d'installation, consultez notre guide d'installation de YOLO11. Lors de l'installation des packages requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.

Configuration de ClearML

Une fois que vous avez installé les packages nécessaires, l'étape suivante consiste à initialiser et à configurer votre SDK ClearML. Cela implique de configurer votre compte ClearML et d'obtenir les informations d'identification nécessaires pour une connexion transparente entre votre environnement de développement et le serveur ClearML.

Commencez par initialiser le SDK ClearML dans votre environnement. La commande 'clearml-init' démarre le processus de configuration et vous invite à saisir 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, visitez la page des paramètres ClearML. Accédez au coin supérieur droit et sélectionnez « Paramètres ». Accédez à la section « Espace de travail » et cliquez sur « Créer de nouvelles informations d'identification ». Utilisez les informations d'identification fournies dans la fenêtre contextuelle « Créer des informations d'identification » pour terminer la configuration comme indiqué, selon que vous configurez ClearML dans un Jupyter Notebook ou un environnement python local.

Utilisation

Avant de plonger dans les instructions d'utilisation, assurez-vous de consulter la gamme de modèles YOLO11 proposés par Ultralytics. Cela vous aidera à choisir le modèle le plus approprié pour les exigences de votre 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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLO11 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, spécifiant les noms de votre projet et de votre tâche. Cette tâche suivra et gérera l'entraînement de votre modèle.

Étape 2 : Sélection du modèle YOLO11: La model_variant variable est définie sur 'yolo11n', l'un des modèles YOLO11. Cette variante est ensuite enregistrée dans ClearML pour le suivi.

Étape 3 : Chargement du modèle YOLO11 : Le modèle YOLO11 sélectionné est chargé à l'aide de la classe YOLO d'Ultralytics, le préparant pour l'entraînement.

Étape 4 : Configuration des arguments d'entraînement: Les principaux arguments d'entraînement tels que l'ensemble de données (coco8.yaml) et le nombre de epochs (16) sont organisés dans un dictionnaire et connectés à la tâche ClearML. Cela permet le suivi et la modification potentielle via l'interface utilisateur de ClearML. Pour une compréhension détaillée du processus d'entraînement du modèle et des meilleures pratiques, consultez notre guide d'entraînement du modèle YOLO11.

Étape 5 : Lancement de l'entraînement du modèle: L'entraînement du modèle est lancé avec les arguments spécifiés. Les résultats du processus d'entraînement sont capturés dans la results variable.

Comprendre la sortie

En exécutant l'extrait de code d'utilisation ci-dessus, vous pouvez vous attendre à la sortie suivante :

  • Un message de confirmation indiquant la création d'une nouvelle tâche ClearML, ainsi que son ID unique.
  • Un message d'information concernant le stockage du code de script, indiquant que l'exécution du code est suivie par ClearML.
  • Un lien URL vers la page de résultats ClearML où vous pouvez surveiller la progression de l'entraînement et afficher les journaux détaillés.
  • Progression du téléchargement du modèle YOLO11 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 d'entraînement tels que TensorBoard, la Précision Mixte Automatique (AMP) et la préparation de l'ensemble de données.
  • Enfin, le processus d'entraînement commence, avec des mises à jour de la progression à 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 l'entraînement, consultez notre guide sur les mesures de performance.

Affichage de la page des 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, vous pouvez accéder à une vue complète du processus d'entraînement de votre modèle.

Principales caractéristiques de la page de résultats ClearML

  • Suivi des métriques en temps réel

    • Suivez les métriques critiques telles que la perte, la précision et les scores de validation au fur et à mesure qu'ils se produisent.
    • Fournit une rétroaction immédiate pour des ajustements opportuns des performances du modèle.
  • Comparaison d'expériences

    • Comparez différentes exécutions 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édez à des journaux complets, des représentations graphiques des métriques et des sorties de la console.
    • Acquérez une compréhension plus approfondie du comportement du modèle et de la résolution des problèmes.
  • Surveillance de l'utilisation des ressources

    • Surveillez l'utilisation des ressources de calcul, y compris le CPU, le GPU et la mémoire.
    • Essentiel pour optimiser l'efficacité et les coûts de la formation.
  • Gestion des artefacts de modèle

    • Affichez, téléchargez et partagez des artefacts de modèle tels que des modèles entraînés et des points de contrôle.
    • Améliore la collaboration et rationalise le déploiement du modèle et le partage.

Pour une présentation visuelle de l'apparence de la page de résultats ClearML, regardez la vidéo ci-dessous :



Regarder : Intégration de MLOps YOLO11 à l'aide de ClearML

Fonctionnalités avancées dans ClearML

ClearML offre plusieurs fonctionnalités avancées pour améliorer votre expérience MLOps.

Exécution à distance

La fonctionnalité d'exécution à distance de ClearML facilite la reproduction et la manipulation d'expériences sur différentes machines. Elle enregistre les détails essentiels tels que les packages installés et les modifications non validées. Lorsqu'une tâche est mise en file d'attente, l'Agent ClearML la récupère, recrée l'environnement et exécute l'expérience, en renvoyant des résultats détaillés.

Le déploiement d'un agent ClearML est simple et peut être effectué sur diverses machines à l'aide de la commande suivante :

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

Cette configuration est applicable aux machines virtuelles cloud, aux GPU locaux ou aux ordinateurs portables. Les Autoscalers ClearML aident à gérer les charges de travail cloud sur des plateformes telles qu'AWS, GCP et Azure, en automatisant le déploiement des agents et en ajustant les ressources en fonction de votre budget de ressources.

Clonage, édition et mise en file d'attente

L'interface conviviale de ClearML permet de cloner, de modifier et de mettre en file d'attente facilement des tâches. Les utilisateurs peuvent cloner une expérience existante, ajuster les paramètres ou d'autres détails via l'interface utilisateur, et mettre la tâche en file d'attente pour l'exécution. Ce processus rationalisé garantit que l'agent ClearML qui exécute la tâche utilise des configurations mises à jour, ce qui le rend idéal pour l'expérimentation itérative et le réglage fin du modèle.


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

Gestion des versions de jeux de données

ClearML offre également de puissantes capacités de gestion des versions de datasets qui s'intègrent parfaitement aux flux de travail d'entraînement YOLO11. Cette fonctionnalité vous permet de :

  • Gérez les versions de vos ensembles de données séparément de votre code
  • Suivre quelle version du jeu de données a été utilisée pour chaque expérience
  • Accédez et téléchargez facilement la dernière version de l'ensemble de données

Pour préparer votre ensemble de données pour ClearML, suivez ces étapes :

  1. Organisez votre ensemble de données avec la structure YOLO standard (images, étiquettes, etc.)
  2. Copiez le fichier YAML correspondant à la racine du dossier de votre dataset
  3. Téléchargez votre ensemble de données à l'aide de l'outil ClearML Data :

    cd your_dataset_folder
    clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
    

Cette commande créera un ensemble de données versionné dans ClearML qui pourra être référencé dans vos scripts d'entraînement, garantissant ainsi la reproductibilité et un accès facile à vos données.

Résumé

Ce guide vous a présenté le processus d'intégration de ClearML avec YOLO11 d'Ultralytics. Couvrant tout, de la configuration initiale à la gestion avancée des modèles, vous avez découvert comment tirer parti de ClearML pour une formation efficace, un suivi des expériences et une optimisation du flux de travail dans vos projets d'apprentissage automatique.

Pour plus de détails sur l'utilisation, consultez la documentation officielle de ClearML.

De plus, explorez davantage d'intégrations et de capacités d'Ultralytics en visitant la page du guide d'intégration d'Ultralytics, qui est une mine de ressources et d'informations.

FAQ

Quel est le processus d'intégration d'Ultralytics YOLO11 avec ClearML ?

L'intégration d'Ultralytics YOLO11 avec ClearML implique une série d'étapes pour rationaliser votre flux de travail MLOps. Tout d'abord, installez les packages nécessaires :

pip install ultralytics clearml

Ensuite, initialisez le SDK ClearML dans votre environnement en utilisant :

clearml-init

Vous configurez ensuite ClearML avec vos informations d'identification à partir de la page des paramètres ClearML. Des instructions détaillées sur l'ensemble du processus de configuration, y compris la sélection du modèle et les configurations d'entraînement, sont disponibles dans notre guide d'entraînement du modèle YOLO11.

Pourquoi devrais-je utiliser ClearML avec Ultralytics YOLO11 pour mes projets de machine learning ?

L'utilisation de ClearML avec Ultralytics YOLO11 améliore vos projets d'apprentissage automatique en automatisant le suivi des expériences, en rationalisant les flux de travail et en permettant une gestion robuste des modèles. ClearML offre un suivi des métriques en temps réel, une surveillance de l'utilisation des ressources et une interface conviviale pour comparer les expériences. Ces fonctionnalités aident à optimiser les performances de votre modèle et à rendre le processus de développement plus efficace. Apprenez-en davantage sur les avantages et les procédures dans notre guide d'intégration MLOps.

Comment puis-je résoudre les problèmes courants lors de l'intégration de YOLO11 et ClearML ?

Si vous rencontrez des problèmes lors de l'intégration de YOLO11 avec ClearML, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils. Les problèmes typiques peuvent inclure des erreurs d'installation de packages, la configuration des informations d'identification ou des problèmes de configuration. Ce guide fournit des instructions de dépannage étape par étape pour résoudre efficacement ces problèmes courants.

Comment configurer la tâche ClearML pour l'entraînement du modèle YOLO11 ?

La configuration d'une tâche ClearML pour l'entraînement YOLO11 implique l'initialisation d'une tâche, la sélection de la variante de modèle, le chargement du modèle, la configuration des arguments d'entraînement et, enfin, le démarrage de l'entraînement du modèle. Voici un exemple simplifié :

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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLO11 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)

Consultez notre guide d'utilisation pour une description détaillée de ces étapes.

Où puis-je voir les résultats de mon entraînement YOLO11 dans ClearML ?

Après avoir exécuté votre script d'entraînement YOLO11 avec ClearML, vous pouvez consulter les résultats sur la page des résultats ClearML. La sortie comprendra un lien URL vers le tableau de bord ClearML, où vous pourrez suivre les métriques, comparer les expériences et surveiller l'utilisation des ressources. Pour plus de détails sur la manière de consulter et d'interpréter les résultats, consultez notre section sur l'affichage de la page des résultats ClearML.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires