Ultralytics YOLO27 : Rejoins la liste d’attente.
Get Started

Suivi des expériences et visualisation YOLO avec Weights & Biases#

Les modèles de détection d'objets, comme Ultralytics YOLO26, sont devenus essentiels à de nombreuses applications de vision par ordinateur. Toutefois, l'entraînement, l'évaluation et le déploiement de ces modèles complexes posent plusieurs défis. Le suivi des métriques d'entraînement clés, la comparaison des variantes de modèles, l'analyse du comportement des modèles et la détection des problèmes nécessitent une instrumentation et une gestion des expériences importantes.



À regarder : Comment utiliser Ultralytics YOLO26 avec Weights and Biases

Ce guide présente l’intégration d’Ultralytics YOLO26 avec Weights & Biases pour améliorer le suivi des expériences, gérer les artefacts des meilleurs modèles et visualiser les performances des modèles. Il explique également comment configurer l’intégration, entraîner les modèles et visualiser les résultats à l’aide des fonctionnalités interactives de Weights & Biases.

Tu as déjà des points de contrôle YOLO enregistrés dans W&B ? Importe leurs projets dans Ultralytics Platform depuis Settings > Integrations > Weights & Biases.

Weights & Biases#

Weights & Biases est une plateforme MLOps de pointe conçue pour suivre, visualiser et gérer les expériences de machine learning. Elle propose la journalisation automatique des métriques d'entraînement pour assurer une reproductibilité complète des expériences, une interface interactive qui simplifie l'analyse des données et des outils efficaces de gestion des modèles pour les déployer dans différents environnements.

Entraîner YOLO26 avec Weights & Biases#

Tu peux utiliser Weights & Biases pour rendre ton processus d'entraînement YOLO26 plus efficace et automatisé. L'intégration te permet de suivre les expériences, de comparer les modèles et de prendre des décisions fondées sur les données afin d'améliorer tes projets de vision par ordinateur.

Installation#

Pour installer les paquets requis, exécute :

Installation
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb

# Enable W&B logging for Ultralytics
yolo settings wandb=True

Pour obtenir des instructions détaillées et des bonnes pratiques concernant l’installation, consulte notre guide d’installation de YOLO26. Si tu rencontres des difficultés lors de l’installation des paquets requis pour YOLO26, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.

Configurer Weights & Biases#

Après avoir installé les packages nécessaires, l'étape suivante consiste à configurer ton environnement Weights & Biases. Cela comprend la création d'un compte Weights & Biases et l'obtention de la clé API nécessaire pour établir une connexion fluide entre ton environnement de développement et la plateforme W&B.

Commence par initialiser l'environnement Weights & Biases dans ton espace de travail. Pour cela, exécute la commande suivante et suis les instructions affichées.

Configuration initiale du SDK
import wandb

# Initialise ton environnement Weights & Biases (demande la clé API ou lit WANDB_API_KEY)
wandb.login()

Rends-toi sur la page d'autorisation Weights & Biases pour créer et récupérer ta clé API. Utilise cette clé lorsque tu y es invité pour authentifier ton environnement auprès de W&B.

Utilisation : entraîner YOLO26 avec Weights & Biases#

Avant de consulter les instructions d'utilisation pour entraîner un modèle YOLO26 avec Weights & Biases, pense à découvrir la gamme de modèles YOLO26 proposés par Ultralytics. Tu pourras ainsi choisir le modèle le mieux adapté aux exigences de ton projet.

Utilisation : entraîner YOLO26 avec Weights & Biases
from ultralytics import YOLO

# Charger un modèle YOLO
model = YOLO("yolo26n.pt")

# Entraîner et affiner le modèle
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")

Les exécutions créées par Ultralytics tracent les métriques d'entraînement par rapport à epoch. Si tu démarres une exécution avec wandb.init() avant l'entraînement, Ultralytics consigne les données dans cette exécution, avec une valeur epoch dans chaque ligne, et la laisse ouverte pour que tu puisses continuer à y consigner des données et appeler toi-même wandb.finish(). Les paramètres d'entraînement sont ajoutés à la configuration de cette exécution, et toute clé dont toi ou un sweep W&B avez déjà défini la valeur conserve cette valeur.

Arguments W&B#

ArgumentValeur par défautDescription
projectNoneIndique le nom du projet enregistré localement et dans W&B, qui regroupe plusieurs exécutions. Si aucun nom n'est défini, les exécutions W&B sont enregistrées dans le projet Ultralytics.
nameNoneNom de l'exécution d'entraînement. Il détermine le nom des sous-dossiers créés et celui utilisé pour la journalisation dans W&B.
saveTrueDétermine si le meilleur point de contrôle doit être téléversé en tant qu'artefact de modèle W&B.
Activer ou désactiver Weights & Biases

Pour activer ou désactiver la journalisation Weights & Biases dans Ultralytics, tu peux utiliser la commande yolo settings. Par défaut, la journalisation Weights & Biases est désactivée.

# Enable Weights & Biases logging
yolo settings wandb=True

# Disable Weights & Biases logging
yolo settings wandb=False
Mode hors ligne et reprise

Définis WANDB_MODE=offline pour journaliser sans connexion réseau, puis téléverse l’exécution avec wandb sync <save_dir>/wandb/offline-run-*. Reprendre l’entraînement avec resume=True poursuit la même exécution W&B, en ligne ou hors ligne et sur tous les systèmes d’exploitation, en lisant l’ID de l’exécution dans le dossier d’exécution le plus récent du répertoire de sauvegarde d’origine, dans le répertoire wandb/ ; conserve donc ce répertoire en place.

Comprendre la sortie#

Après avoir exécuté l'extrait de code d'utilisation ci-dessus, tu peux t'attendre aux principaux résultats suivants :

  • La configuration d'une nouvelle exécution avec son identifiant unique, qui indique le début du processus d'entraînement.
  • Un résumé concis de la structure du modèle, comprenant le nombre de couches et de paramètres.
  • Mises à jour régulières des métriques importantes, comme les pertes d’entraînement, la précision, le rappel et les scores mAP, à chaque époque d’entraînement.
  • À la fin de l'entraînement, des métriques détaillées, notamment la vitesse d'inférence du modèle et les métriques globales d'exactitude, sont affichées.
  • Des liens vers le tableau de bord Weights & Biases pour analyser et visualiser en détail le processus d'entraînement, ainsi que des informations sur l'emplacement des fichiers journaux locaux.

Consulter le tableau de bord Weights & Biases#

Après avoir exécuté l'extrait de code d'utilisation, tu peux accéder au tableau de bord Weights & Biases (W&B) à l'aide du lien fourni dans la sortie. Ce tableau de bord offre une vue d'ensemble du processus d'entraînement de ton modèle avec YOLO26.

Fonctionnalités clés du tableau de bord Weights & Biases#

  • Suivi des métriques en temps réel : observe l'évolution des métriques comme la perte, l'exactitude et les scores de validation pendant l'entraînement pour obtenir immédiatement des informations utiles à l'ajustement du modèle. Découvre comment les expériences sont suivies avec Weights & Biases.

  • Comparaison des hyperparamètres : Chaque exécution enregistre ses arguments d’entraînement, comme le taux d’apprentissage et la taille du lot, ce qui te permet de comparer les configurations entre les exécutions. Pour effectuer une recherche automatisée avec la journalisation W&B, utilise Ray Tune.

  • Analyse comparative : la plateforme permet de comparer côte à côte différentes exécutions d'entraînement, ce qui est essentiel pour évaluer l'effet des configurations de modèles et comprendre quelles modifications améliorent les performances.

  • Visualisation de la progression de l'entraînement : des représentations graphiques des métriques clés permettent de comprendre intuitivement les performances du modèle au fil des époques. Découvre comment Weights & Biases t'aide à visualiser les résultats de validation.

  • Surveillance des ressources : surveille l'utilisation du CPU, du GPU et de la mémoire pour optimiser l'efficacité du processus d'entraînement et repérer les éventuels goulots d'étranglement dans ton flux de travail.

  • Gestion des artefacts de modèle : Accède au meilleur point de contrôle du modèle et partage-le. Il est importé en tant qu’artefact W&B à la fin de l’entraînement, ce qui facilite le déploiement et la collaboration avec les membres de l’équipe sur des projets complexes.

Grâce à ces fonctionnalités, tu peux suivre, analyser et optimiser efficacement l'entraînement de ton modèle YOLO26 afin d'obtenir les meilleures performances et la meilleure efficacité possible pour tes tâches de détection d'objets.

Résumé#

Ce guide t’a permis de découvrir l’intégration d’Ultralytics YOLO avec Weights & Biases. Il illustre la capacité de cette intégration à suivre et à visualiser efficacement les résultats de l’entraînement des modèles. En tirant parti des puissantes fonctionnalités de W&B, tu peux simplifier ton flux de travail en apprentissage automatique, prendre des décisions fondées sur les données et améliorer les performances de ton modèle.

Pour en savoir plus, découvre la présentation de Soumik Rakshit sur cette intégration, donnée lors de YOLO VISION 2023.

Pense également à consulter la page du guide d'intégration Ultralytics pour en savoir plus sur d'autres intégrations intéressantes, comme MLflow et Comet ML.

FAQ#

  • Pour intégrer Weights & Biases à Ultralytics YOLO26 :

    1. Installe les paquets requis :

      pip install -U ultralytics wandb
      yolo settings wandb=True
    2. Connecte-toi à ton compte Weights & Biases :

      wandb login
    3. Entraîne ton modèle YOLO26 en activant la journalisation W&B :

      from ultralytics import YOLO
      
      model = YOLO("yolo26n.pt")
      model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")

    Les métriques, les hyperparamètres et les artefacts du modèle seront automatiquement enregistrés dans ton projet W&B.

  • Les principales fonctionnalités comprennent :

    • Le suivi des métriques en temps réel pendant l'entraînement
    • Comparaison des hyperparamètres entre les exécutions
    • L'analyse comparative de différentes exécutions d'entraînement
    • La visualisation de la progression de l'entraînement sous forme de graphiques
    • La surveillance des ressources (utilisation du CPU, du GPU et de la mémoire)
    • La gestion et le partage des artefacts de modèle

    Ces fonctionnalités facilitent le suivi des expériences, l'optimisation des modèles et la collaboration sur les projets YOLO26.

  • Après avoir exécuté ton script d'entraînement avec l'intégration W&B :

    1. Un lien vers ton tableau de bord W&B s'affichera dans la sortie de la console.
    2. Clique sur le lien ou rends-toi sur wandb.ai et connecte-toi à ton compte.
    3. Accède à ton projet pour consulter les métriques détaillées, les visualisations et les données sur les performances du modèle.

    Le tableau de bord te donne des informations sur le processus d'entraînement de ton modèle, ce qui te permet d'analyser et d'améliorer efficacement tes modèles YOLO26.

  • Oui, tu peux désactiver la journalisation W&B à l'aide de la commande suivante :

    yolo settings wandb=False

    Pour réactiver la journalisation, utilise :

    yolo settings wandb=True

    Cela te permet de choisir quand utiliser la journalisation W&B sans modifier tes scripts d'entraînement.

  • Weights & Biases aide à optimiser les modèles YOLO26 en :

    1. Fournissant des visualisations détaillées des métriques d'entraînement
    2. Permettant de comparer facilement différentes versions du modèle
    3. Journalisation des arguments d’entraînement de chaque exécution pour comparer le réglage des hyperparamètres
    4. Permettant l'analyse collaborative des performances des modèles
    5. Facilitant le partage des artefacts et des résultats des modèles

    Ces fonctionnalités aident les chercheurs et les développeurs à itérer plus rapidement et à prendre des décisions fondées sur les données pour améliorer leurs modèles YOLO26.

Commentaires