Zum Inhalt springen

Erweiterte YOLOv8 Experimentverfolgung mit DVCLive

Die Nachverfolgung von Experimenten beim maschinellen Lernen ist entscheidend für die Modellentwicklung und -bewertung. Dabei werden verschiedene Parameter, Messgrößen und Ergebnisse aus zahlreichen Trainingsläufen aufgezeichnet und analysiert. Dieser Prozess ist wichtig, um die Leistung eines Modells zu verstehen und datengestützte Entscheidungen zur Verfeinerung und Optimierung der Modelle zu treffen.

Die Integration von DVCLive mit Ultralytics YOLOv8 verändert die Art und Weise, wie Experimente nachverfolgt und verwaltet werden. Diese Integration bietet eine nahtlose Lösung für die automatische Protokollierung wichtiger Versuchsdetails, den Vergleich von Ergebnissen verschiedener Durchläufe und die Visualisierung von Daten für eine gründliche Analyse. In diesem Leitfaden erfährst du, wie du DVCLive nutzen kannst, um diesen Prozess zu optimieren.

DVCLive

DVCLive Übersicht

DVCLive wurde von DVC entwickelt und ist ein innovatives Open-Source-Tool für die Verfolgung von Experimenten beim maschinellen Lernen. Es lässt sich nahtlos in Git und DVC integrieren und automatisiert die Protokollierung wichtiger Experimentdaten wie Modellparameter und Trainingsmetriken. DVCLive ermöglicht den mühelosen Vergleich und die Analyse mehrerer Läufe und steigert die Effizienz von Machine-Learning-Projekten mit intuitiven Datenvisualisierungs- und Analysetools.

YOLOv8 Ausbildung mit DVCLive

YOLOv8 Trainingseinheiten können mit DVCLive effektiv überwacht werden. Darüber hinaus bietet DVC integrierte Funktionen zur Visualisierung dieser Experimente, einschließlich der Erstellung eines Berichts, der den Vergleich von Metrikplots über alle verfolgten Experimente hinweg ermöglicht und so einen umfassenden Überblick über den Trainingsprozess bietet.

Installation

Um die benötigten Pakete zu installieren, führe sie aus:

Installation

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

Ausführliche Anweisungen und bewährte Verfahren für den Installationsprozess findest du in unserem YOLOv8 Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

DVCLive konfigurieren

Nachdem du die notwendigen Pakete installiert hast, musst du im nächsten Schritt deine Umgebung mit den erforderlichen Anmeldedaten einrichten und konfigurieren. Diese Einrichtung gewährleistet eine reibungslose Integration von DVCLive in deinen bestehenden Arbeitsablauf.

Beginne damit, ein Git-Repository einzurichten, denn Git spielt eine entscheidende Rolle bei der Versionskontrolle deines Codes und deiner DVCLive-Konfigurationen.

Erstmalige Einrichtung der Umgebung

# 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"

Ersetze in diesen Befehlen "you@example.com" durch die E-Mail-Adresse, die mit deinem Git-Konto verknüpft ist, und "Dein Name" durch den Benutzernamen deines Git-Kontos.

Verwendung

Bevor du dich in die Gebrauchsanweisung vertiefst, solltest du dir die verschiedenen Modelle vonYOLOv8 ansehen, die von Ultralytics angeboten werden. Das wird dir helfen, das am besten geeignete Modell für deine Projektanforderungen auszuwählen.

Training YOLOv8 Modelle mit DVCLive

Beginne damit, deine YOLOv8 Trainingseinheiten durchzuführen. Du kannst verschiedene Modellkonfigurationen und Trainingsparameter verwenden, um deinen Projektanforderungen gerecht zu werden. Zum Beispiel:

# 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

Passe das Modell, die Daten, die Epochen und die imgsz-Parameter an deine spezifischen Anforderungen an. Ausführliche Informationen zum Modelltraining und zu den besten Methoden findest du in unserem LeitfadenYOLOv8 Modelltraining.

Überwachung von Experimenten mit DVCLive

DVCLive verbessert den Trainingsprozess, indem es die Nachverfolgung und Visualisierung von Schlüsselkennzahlen ermöglicht. Nach der Installation wird Ultralytics YOLOv8 automatisch mit DVCLive integriert, um Experimente zu verfolgen, die du später analysieren kannst, um Einblicke in die Leistung zu erhalten. Für ein umfassendes Verständnis der spezifischen Leistungskennzahlen, die während der Ausbildung verwendet werden, solltest du dir unseren detaillierten Leitfaden zu Leistungskennzahlen ansehen.

Ergebnisse auswerten

Nachdem deine YOLOv8 Trainingseinheiten abgeschlossen sind, kannst du die leistungsstarken Visualisierungstools von DVCLive für eine gründliche Analyse der Ergebnisse nutzen. Die Integration von DVCLive stellt sicher, dass alle Trainingskennzahlen systematisch aufgezeichnet werden, was eine umfassende Bewertung der Leistung deines Modells ermöglicht.

Um mit der Analyse zu beginnen, kannst du die Experimentdaten über die DVC-API extrahieren und mit Pandas verarbeiten, um sie einfacher zu handhaben und zu visualisieren:

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)

Die Ausgabe des obigen Codeschnipsels bietet eine klare tabellarische Übersicht über die verschiedenen Experimente, die mit den YOLOv8 Modellen durchgeführt wurden. Jede Zeile steht für einen anderen Trainingslauf und enthält den Namen des Experiments, die Anzahl der Epochen, die Bildgröße (imgsz), das verwendete Modell und die Metrik mAP50-95(B). Diese Metrik ist entscheidend für die Bewertung der Genauigkeit des Modells, wobei höhere Werte eine bessere Leistung anzeigen.

Ergebnisse mit Plotly visualisieren

Für eine interaktive und visuelle Analyse deiner Versuchsergebnisse kannst du die parallele Koordinatendarstellung von Plotly verwenden. Diese Art der Darstellung ist besonders nützlich, um die Beziehungen und Kompromisse zwischen verschiedenen Parametern und Messgrößen zu verstehen.

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()

Die Ausgabe des obigen Codeschnipsels erzeugt ein Diagramm, das die Beziehungen zwischen den Epochen, der Bildgröße, dem Modelltyp und den entsprechenden mAP50-95(B)-Werten visuell darstellt, sodass du Trends und Muster in deinen Versuchsdaten erkennen kannst.

Vergleichende Visualisierungen mit DVC erstellen

DVC bietet einen nützlichen Befehl, mit dem du vergleichende Diagramme für deine Experimente erstellen kannst. Das kann besonders hilfreich sein, um die Leistung verschiedener Modelle über verschiedene Trainingsläufe hinweg zu vergleichen.

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

Nach der Ausführung dieses Befehls erstellt DVC Diagramme, die die Metriken verschiedener Experimente vergleichen und als HTML-Dateien gespeichert werden. Das folgende Beispiel zeigt typische Diagramme, die durch diesen Prozess erzeugt werden. Das Bild zeigt verschiedene Diagramme, darunter solche, die mAP, Recall, Präzision, Verlustwerte und mehr darstellen und einen visuellen Überblick über die wichtigsten Leistungskennzahlen bieten:

DVCLive-Plots

DVC-Parzellen anzeigen

Wenn du ein Jupyter Notebook verwendest und die erzeugten DVC-Plots anzeigen möchtest, kannst du die IPython-Anzeigefunktion nutzen.

from IPython.display import HTML

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

Dieser Code rendert die HTML-Datei mit den DVC-Diagrammen direkt in deinem Jupyter-Notebook und bietet so eine einfache und bequeme Möglichkeit, die visualisierten Experimentdaten zu analysieren.

Datengestützte Entscheidungen treffen

Nutze die Erkenntnisse aus diesen Visualisierungen, um fundierte Entscheidungen über Modelloptimierungen, die Abstimmung von Hyperparametern und andere Modifikationen zur Verbesserung der Leistung deines Modells zu treffen.

Experimente wiederholen

Basierend auf deiner Analyse kannst du deine Experimente wiederholen. Passe die Modellkonfigurationen, Trainingsparameter oder sogar die Dateneingaben an und wiederhole den Trainings- und Analyseprozess. Dieser iterative Ansatz ist der Schlüssel, um dein Modell zu verfeinern und die bestmögliche Leistung zu erzielen.

Zusammenfassung

Dieser Leitfaden hat dich durch den Prozess der Integration von DVCLive mit Ultralytics' YOLOv8 geführt. Du hast gelernt, wie du die Leistungsfähigkeit von DVCLive für eine detaillierte Überwachung von Experimenten, eine effektive Visualisierung und eine aufschlussreiche Analyse bei deinen Bemühungen um maschinelles Lernen nutzen kannst.

Weitere Details zur Nutzung findest du in der offiziellen Dokumentation von DVCLive.

Wenn du mehr über die Integrationen und Möglichkeiten von Ultralytics erfahren möchtest, besuche den Ultralytics Integrationsleitfaden, der eine Sammlung großartiger Ressourcen und Einblicke bietet.



Erstellt 2023-11-30, Aktualisiert 2024-05-18
Autoren: glenn-jocher (1), abirami-vina (1)

Kommentare