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 l'intégration de Ultralytics YOLOv8 avec Weights & Biases' pour améliorer le suivi des expériences, la vérification des modèles et la visualisation de leurs performances. Il comprend également des instructions sur la configuration de l'intégration, l'entraînement, la mise au point et la visualisation des résultats à l'aide des fonctions interactives de Weights & Biases'.

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

from ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback
import wandb

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

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco128.yaml"
model = YOLO(f"{model_name}.pt")

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

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

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

# Step 7: 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 l'entraĂ®nement, offrant ainsi des informations immĂ©diates pour le rĂ©glage du modèle.

  • 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 mesures clĂ©s permettent une comprĂ©hension intuitive des performances du modèle au fil des Ă©poques.

  • Surveillance des ressources: Effectue un suivi de l'utilisation du CPU, du GPU et 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 plus d'informations sur les capacitĂ©s de superposition d'images de Weights & Biases, consulte ce lien.

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 t'a aidé à explorer l'intégration de Ultralytics'YOLOv8 avec Weights & Biases. Il illustre la capacité de cette intégration à suivre et à visualiser efficacement les résultats de la formation et de la 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.



Créé le 2023-12-28, Mis à jour le 2024-01-15
Auteurs : glenn-jocher (3), abirami-vina (1)

Commentaires