Skip to content

YOLOv8 Suivi avancé des expériences avec DVCLive

Le suivi des expériences dans l'apprentissage automatique est essentiel au développement et à l'évaluation des modèles. Il implique l'enregistrement et l'analyse de divers paramètres, métriques et résultats issus de nombreux entraînements. Ce processus est essentiel pour comprendre les performances des modèles et prendre des décisions basées sur les données afin d'affiner et d'optimiser les modèles.

L'intégration de DVCLive avec Ultralytics YOLOv8 transforme la façon dont les expériences sont suivies et gérées. Cette intégration offre une solution transparente pour enregistrer automatiquement les détails clés de l'expérience, comparer les résultats entre différentes séries et visualiser les données pour une analyse approfondie. Dans ce guide, nous allons comprendre comment DVCLive peut être utilisé pour rationaliser le processus.

DVCLive

Aperçu de DVCLive

DVCLive, développé par DVC, est un outil open-source innovant pour le suivi des expériences en apprentissage automatique. S'intégrant parfaitement à Git et à DVC, il automatise la consignation des données cruciales de l'expérience, comme les paramètres du modèle et les métriques d'entraînement. Conçu pour être simple, DVCLive permet de comparer et d'analyser sans effort plusieurs exécutions, améliorant ainsi l'efficacité des projets d'apprentissage automatique grâce à des outils intuitifs de visualisation et d'analyse des données.

YOLOv8 Formation avec DVCLive

YOLOv8 Les sessions de formation peuvent être suivies efficacement avec DVCLive. En outre, DVC fournit des fonctions intégrales pour visualiser ces expériences, y compris la génération d'un rapport qui permet de comparer les tracés métriques de toutes les expériences suivies, offrant ainsi une vue d'ensemble du processus de formation.

Installation

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

Installation

# Install the required packages for YOLOv8 and DVCLive
pip install ultralytics dvclive

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.

Configuration de DVCLive

Une fois que tu as installé les paquets nécessaires, l'étape suivante consiste à mettre en place et à configurer ton environnement avec les informations d'identification nécessaires. Cette configuration garantit une intégration en douceur de DVCLive dans ton flux de travail existant.

Commence par initialiser un dépôt Git, car Git joue un rôle crucial dans le contrôle des versions à la fois pour ton code et pour les configurations DVCLive.

Configuration initiale de l'environnement

# Initialize a Git repository
git init -q

# Configure Git with your details
git config --local user.email "you@example.com"
git config --local user.name "Your Name"

# Initialize DVCLive in your project
dvc init -q

# Commit the DVCLive setup to your Git repository
git commit -m "DVC init"

Dans ces commandes, veille à remplacer "you@example.com" par l'adresse électronique associée à ton compte Git, et "Ton nom" par le nom d'utilisateur de ton compte Git.

Utilisation

Avant de te plonger dans les instructions d'utilisation, 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.

Entraînement des modèles YOLOv8 avec DVCLive

Commence par organiser tes sessions de formation sur YOLOv8 . Tu peux utiliser différentes configurations de modèles et différents paramètres de formation pour répondre aux besoins de ton projet. Par exemple :

# Example training commands for YOLOv8 with varying configurations
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=640

Ajuste le modèle, les données, les époques et les paramètres imgsz en fonction de tes besoins spécifiques. Pour une compréhension détaillée du processus de formation du modèle et des meilleures pratiques, consulte notre guide de formation du modèleYOLOv8 .

Suivi des expériences avec DVCLive

DVCLive améliore le processus de formation en permettant le suivi et la visualisation des paramètres clés. Une fois installé, Ultralytics YOLOv8 s'intègre automatiquement à DVCLive pour le suivi des expériences, que tu peux ensuite analyser pour obtenir des informations sur les performances. Pour une compréhension complète des mesures de performance spécifiques utilisées pendant la formation, ne manque pas d'explorer notre guide détaillé sur les mesures de performance.

Analyse des résultats

Une fois les sessions de formation YOLOv8 terminées, tu peux utiliser les puissants outils de visualisation de DVCLive pour une analyse approfondie des résultats. L'intégration de DVCLive garantit que tous les paramètres de formation sont systématiquement enregistrés, ce qui facilite une évaluation complète des performances de ton modèle.

Pour commencer l'analyse, tu peux extraire les données de l'expérience à l'aide de l'API de DVC et les traiter avec Pandas pour faciliter la manipulation et la visualisation :

import dvc.api
import pandas as pd

# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]

# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)

# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display the DataFrame
print(df)

Le résultat de l'extrait de code ci-dessus fournit une vue tabulaire claire des différentes expériences menées avec les modèles YOLOv8 . Chaque ligne représente un cycle d'entraînement différent, détaillant le nom de l'expérience, le nombre d'époques, la taille de l'image (imgsz), le modèle spécifique utilisé et la métrique mAP50-95(B). Cette mesure est essentielle pour évaluer la précision du modèle, des valeurs plus élevées indiquant de meilleures performances.

Visualiser les résultats avec Plotly

Pour une analyse plus interactive et visuelle des résultats de ton expérience, tu peux utiliser le tracé des coordonnées parallèles de Plotly. Ce type de graphique est particulièrement utile pour comprendre les relations et les compromis entre les différents paramètres et mesures.

from plotly.express import parallel_coordinates

# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")

# Display the plot
fig.show()

La sortie de l'extrait de code ci-dessus génère un graphique qui représente visuellement les relations entre les époques, la taille de l'image, le type de modèle et les scores mAP50-95(B) correspondants, ce qui te permet de repérer les tendances et les modèles dans les données de ton expérience.

Générer des visualisations comparatives avec DVC

DVC fournit une commande utile pour générer des graphiques comparatifs pour tes expériences. Cela peut s'avérer particulièrement utile pour comparer les performances de différents modèles sur diverses séries d'entraînement.

# Generate DVC comparative plots
dvc plots diff $(dvc exp list --names-only)

Après avoir exécuté cette commande, DVC génère des graphiques comparant les mesures entre les différentes expériences, qui sont enregistrés sous forme de fichiers HTML. Tu trouveras ci-dessous un exemple d'image illustrant les graphiques typiques générés par ce processus. L'image présente divers graphiques, y compris ceux représentant le mAP, le rappel, la précision, les valeurs de perte, et plus encore, offrant ainsi un aperçu visuel des principales mesures de performance :

Plots DVCLive

Affichage des parcelles DVC

Si tu utilises un Notebook Jupyter et que tu souhaites afficher les tracés DVC générés, tu peux utiliser la fonctionnalité d'affichage IPython.

from IPython.display import HTML

# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")

Ce code rendra le fichier HTML contenant les tracés DVC directement dans ton Jupyter Notebook, offrant ainsi un moyen facile et pratique d'analyser les données d'expérience visualisées.

Prendre des décisions basées sur des données

Utilise les connaissances acquises grâce à ces visualisations pour prendre des décisions éclairées sur l'optimisation des modèles, le réglage des hyperparamètres et d'autres modifications visant à améliorer les performances de ton modèle.

Itérer sur les expériences

Sur la base de ton analyse, itère sur tes expériences. Ajuste les configurations du modèle, les paramètres de formation, ou même les entrées de données, et répète le processus de formation et d'analyse. Cette approche itérative est essentielle pour affiner ton modèle afin d'obtenir les meilleures performances possibles.

Résumé

Ce guide t'a guidé à travers le processus d'intégration de DVCLive avec Ultralytics'YOLOv8. Tu as appris à exploiter la puissance de DVCLive pour un suivi détaillé des expériences, une visualisation efficace et une analyse perspicace dans tes efforts d'apprentissage automatique.

For further details on usage, visit DVCLive's official documentation.

De plus, explore d'autres intégrations et capacités de Ultralytics en visitant la page du guide d'intégration deUltralytics , qui est une collection de ressources et d'idées intéressantes.



Created 2023-11-30, Updated 2024-06-21
Authors: glenn-jocher (4), abirami-vina (1)

Commentaires