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 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
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
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 ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback
# 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 = "coco8.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 les pertes, 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 afin d'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 des informations plus détaillées 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.