Skip to content

Améliorer le suivi et la visualisation des expériences sur YOLOv8 avec Weights & Biases

Les modèles de détection d'objets comme Ultralytics YOLOv8 sont devenus partie intégrante de nombreuses applications de vision par ordinateur. Cependant, la formation, l'évaluation et le déploiement de ces modèles complexes posent plusieurs problèmes. Le suivi des principales mesures de formation, 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.

Ce guide présente Ultralytics YOLOv8 intégration avec Weights & Biases' pour améliorer le suivi des expériences, les points de contrôle du modèle et la visualisation des performances du modèle. Il comprend également des instructions pour configurer l’intégration, l’entraînement, affiner et visualiser les résultats à l’aide de Weights & Biases' fonctionnalités interactives.

Weights & Biases

Weights & Biases Vue d'ensemble

Weights & Biases est une plateforme MLOps de pointe conçue pour le suivi, la visualisation et la gestion des expériences d'apprentissage automatique. Elle propose une journalisation automatique des métriques d'entraînement pour une reproductibilité totale des expériences, une interface utilisateur interactive pour une analyse rationalisée des données, et des outils de gestion de modèles efficaces pour le déploiement dans divers environnements.

YOLOv8 Formation avec Weights & Biases

Tu peux utiliser Weights & Biases pour apporter de l'efficacité et de l'automatisation à ton processus de formation YOLOv8 .

Installation

Pour installer les paquets nécessaires, exécute :

Installation

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

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 Weights & Biases

Après avoir installé les paquets 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 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. Tu peux le faire en exécutant la commande suivante et en suivant les instructions qui te sont données.

Configuration initiale du SDK

# Initialize your Weights & Biases environment
import wandb
wandb.login()

Va sur la page d'autorisation Weights & Biases pour créer et récupérer ta clé API. Utilise cette clé pour authentifier ton environnement auprès de W&B.

Utilisation : Formation YOLOv8 avec Weights & Biases

Avant de te plonger dans le mode d'emploi de la formation au modèle YOLOv8 avec Weights & Biases, 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 : Formation YOLOv8 avec Weights & Biases

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Load a YOLO model
model = YOLO("yolov8n.pt")

# Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

# Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Finalize the W&B Run
wandb.finish()

Comprendre le code

Comprenons les étapes présentées dans l’extrait de code d’utilisation ci-dessus.

  • Étape 1 : Initialiser une exĂ©cution Weights & Biases : Commence par initialiser une exĂ©cution Weights & Biases , en spĂ©cifiant le nom du projet et le type de travail. Cette exĂ©cution suivra et gĂ©rera les processus de formation et de validation de ton modèle.

  • Étape 2 : DĂ©finir le modèle et l'ensemble de donnĂ©es YOLOv8 : SpĂ©cifie la variante du modèle et le jeu de donnĂ©es que tu souhaites utiliser. Le modèle YOLO est alors initialisĂ© avec le fichier modèle spĂ©cifiĂ©.

  • Étape 3 : Ajouter Weights & Biases Callback pour Ultralytics: Cette Ă©tape est cruciale car elle permet l'enregistrement automatique des mĂ©triques d'entraĂ®nement et des rĂ©sultats de validation sur Weights & Biases, ce qui permet d'avoir une vue dĂ©taillĂ©e des performances du modèle.

  • Étape 4 : EntraĂ®ner et affiner le modèle: Commence Ă  former le modèle avec l'ensemble de donnĂ©es, le nombre d'Ă©poques et la taille de l'image spĂ©cifiĂ©s. Le processus de formation comprend l'enregistrement des mesures et des prĂ©dictions Ă  la fin de chaque pĂ©riode, ce qui offre une vue d'ensemble des progrès d'apprentissage du modèle.

  • Étape 5 : Valider le modèle: Après l'entraĂ®nement, le modèle est validĂ©. Cette Ă©tape est cruciale pour Ă©valuer les performances du modèle sur des donnĂ©es inĂ©dites et s'assurer de sa gĂ©nĂ©ralisabilitĂ©.

  • Étape 6 : Effectuer l'infĂ©rence et consigner les rĂ©sultats: Le modèle effectue des prĂ©dictions sur les images spĂ©cifiĂ©es. Ces prĂ©dictions, ainsi que les superpositions visuelles et les informations, sont automatiquement enregistrĂ©es dans un tableau W&B pour une exploration interactive.

  • Étape 7 : Finaliser l'exĂ©cution de W&B: Cette Ă©tape marque la fin de l'enregistrement des donnĂ©es et enregistre l'Ă©tat final du processus de formation et de validation de ton modèle dans le tableau de bord W&B.

Comprendre les résultats

En exécutant l'extrait de code d'utilisation ci-dessus, tu peux t'attendre à obtenir les résultats clés suivants :

  • La mise en place d'une nouvelle manche avec son identifiant unique, indiquant le dĂ©but du processus de formation.
  • Un rĂ©sumĂ© concis de la structure du modèle, y compris le nombre de couches et de paramètres.
  • Mises Ă  jour rĂ©gulières des mesures importantes telles que la perte de boĂ®te, la perte de cls, la perte de dfl, la prĂ©cision, le rappel et les scores mAP au cours de chaque Ă©pisode de formation.
  • Ă€ la fin de la formation, des mesures dĂ©taillĂ©es sont affichĂ©es, notamment la vitesse d'infĂ©rence du modèle et les mesures de prĂ©cision globales.
  • Liens vers le tableau de bord Weights & Biases pour une analyse et une visualisation approfondies du processus de formation, ainsi que des informations sur l'emplacement des fichiers journaux locaux.

Visualisation du 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) grâce au lien fourni dans la sortie. Ce tableau de bord offre une vue d'ensemble du processus de formation de ton modèle avec YOLOv8.

Principales caractéristiques du tableau de bord Weights & Biases

  • Suivi des mesures en temps rĂ©el: Observe les mesures telles que la perte, la prĂ©cision et les scores de validation au fur et Ă  mesure qu'elles Ă©voluent pendant la formation, offrant ainsi des informations immĂ©diates pour la mise au point du modèle. Vois comment les expĂ©riences sont suivies Ă  l'aide de Weights & Biases.

  • Optimisation des hyperparamètres: Weights & Biases aide Ă  affiner les paramètres critiques tels que le taux d'apprentissage, la taille du lot, et plus encore, amĂ©liorant ainsi les performances de YOLOv8.

  • Analyse comparative: La plateforme permet de comparer cĂ´te Ă  cĂ´te diffĂ©rentes formations, ce qui est essentiel pour Ă©valuer l'impact de diverses configurations de modèles.

  • Visualisation des progrès de la formation: Les reprĂ©sentations graphiques des paramètres 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 la validation.

  • Surveillance des ressources: Garde une trace de CPU, GPU, et de l'utilisation de la mĂ©moire pour optimiser l'efficacitĂ© du processus de formation.

  • Gestion des artefacts du modèle : Accède aux points de contrĂ´le des modèles et partage-les, ce qui facilite le dĂ©ploiement et la collaboration.

  • Visualisation des rĂ©sultats de l'infĂ©rence avec une superposition d'images: Visualise les rĂ©sultats de la prĂ©diction sur des images Ă  l'aide de superpositions interactives sur Weights & Biases, ce qui permet d'obtenir une vue claire et dĂ©taillĂ©e de la performance du modèle sur des donnĂ©es rĂ©elles. Pour obtenir des informations plus dĂ©taillĂ©es sur les capacitĂ©s de superposition d'images de Weights & Biases', consulte ce lien. Vois comment Weights & Biases' image overlays aide Ă  visualiser les infĂ©rences du modèle.

En utilisant ces fonctions, tu peux suivre, analyser et optimiser efficacement la formation de ton modèle YOLOv8 , en garantissant les meilleures performances et la meilleure efficacité possibles.

Résumé

Ce guide vous a aidé à explorer Ultralytics' YOLOv8 intégration avec Weights & Biases. Il illustre la capacité de cette intégration à suivre et à visualiser efficacement les résultats d’entraînement et de prédiction des modèles.

Pour plus de détails sur l'utilisation, visite Weights & Biases' documentation officielle.

N'oublie pas non plus de consulter la page du guide d'intégration deUltralytics , pour en savoir plus sur différentes intégrations passionnantes.

FAQ

Comment installer les paquets nécessaires pour YOLOv8 et Weights & Biases?

Pour installer les paquets nécessaires pour YOLOv8 et Weights & Biases, ouvre ton interface de ligne de commande et exécute :

pip install --upgrade ultralytics==8.0.186 wandb

Pour plus d'informations sur les étapes de l'installation, reporte-toi à notre guide d'installationYOLOv8 . Si tu rencontres des problèmes, consulte le guide des problèmes courants pour obtenir des conseils de dépannage.

Quels sont les avantages de l'intégration de Ultralytics YOLOv8 avec Weights & Biases?

L'intégration de Ultralytics YOLOv8 avec Weights & Biases offre plusieurs avantages, notamment

  • Suivi des mesures en temps rĂ©el : Observe les changements de mĂ©triques pendant la formation pour obtenir des informations immĂ©diates.
  • Optimisation des hyperparamètres : AmĂ©liore les performances du modèle en affinant le taux d'apprentissage, la taille du lot, etc.
  • Analyse comparative : Comparaison cĂ´te Ă  cĂ´te de diffĂ©rents entraĂ®nements.
  • Surveillance des ressources : Garde une trace de CPU, GPU, et de l'utilisation de la mĂ©moire.
  • Gestion des artefacts du modèle : Accès facile et partage des points de contrĂ´le du modèle.

Explore ces fonctions en détail dans la section Weights & Biases Dashboard ci-dessus.

Comment puis-je configurer Weights & Biases pour la formation YOLOv8 ?

Pour configurer Weights & Biases pour la formation YOLOv8 , suis les Ă©tapes suivantes :

  1. Exécute la commande pour initialiser Weights & Biases:
    import wandb
    wandb.login()
    
  2. Récupère ta clé API sur le site Weights & Biases .
  3. Utilise la clé API pour authentifier ton environnement de développement.

Tu trouveras des instructions de configuration détaillées dans la section Configuration de Weights & Biases ci-dessus.

Comment entraîner un modèle YOLOv8 à l'aide de Weights & Biases?

Pour former un modèle YOLOv8 à l'aide de Weights & Biases, utilise les étapes suivantes dans un script Python :

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Load a YOLO model
model = YOLO("yolov8n.pt")

# Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

# Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Finalize the W&B Run
wandb.finish()

Ce script initialise Weights & Biases, configure le modèle, l'entraîne et enregistre les résultats. Pour plus de détails, consulte la section Utilisation ci-dessus.

Pourquoi devrais-je utiliser Ultralytics YOLOv8 avec Weights & Biases plutĂ´t que d'autres plateformes ?

Ultralytics YOLOv8 intégré à Weights & Biases offre plusieurs avantages uniques :

  • Haute efficacitĂ© : Suivi en temps rĂ©el des paramètres de formation et optimisation des performances.
  • ÉvolutivitĂ© : Gère facilement les travaux de formation Ă  grande Ă©chelle grâce Ă  des outils robustes de surveillance et d'utilisation des ressources.
  • InteractivitĂ© : Une interface utilisateur interactive conviviale pour la visualisation des donnĂ©es et la gestion des modèles.
  • CommunautĂ© et soutien : Documentation d'intĂ©gration solide et soutien de la communautĂ© avec des options flexibles de personnalisation et d'amĂ©lioration.

Pour les comparaisons avec d'autres plateformes comme Comet et ClearML, réfère-toi à Ultralytics integrations.



Créé le 2023-12-28, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (10), ambitious-octopus (1), IvorZhu331 (1), abirami-vina (1)

Commentaires