Zum Inhalt springen

Verbesserte YOLOv8 Experimentverfolgung und -visualisierung mit Weights & Biases

Modelle zur Objekterkennung wie Ultralytics YOLOv8 sind aus vielen Computer Vision Anwendungen nicht mehr wegzudenken. Das Training, die Bewertung und der Einsatz dieser komplexen Modelle bringt jedoch einige Herausforderungen mit sich. Die Nachverfolgung wichtiger Trainingskennzahlen, der Vergleich von Modellvarianten, die Analyse des Modellverhaltens und die Erkennung von Problemen erfordern eine umfangreiche Instrumentierung und Experimentverwaltung.

In diesem Leitfaden wird die Integration von Ultralytics YOLOv8 mit Weights & Biases' fĂŒr die verbesserte Nachverfolgung von Experimenten, Modell-Checkpointing und Visualisierung der Modellleistung vorgestellt. Er enthĂ€lt außerdem Anleitungen fĂŒr die Einrichtung der Integration, das Training, die Feinabstimmung und die Visualisierung der Ergebnisse mit den interaktiven Funktionen von Weights & Biases'.

Weights & Biases

Weights & Biases Übersicht

Weights & Biases ist eine hochmoderne MLOps-Plattform, die fĂŒr die Verfolgung, Visualisierung und Verwaltung von Machine-Learning-Experimenten entwickelt wurde. Sie bietet eine automatische Protokollierung der Trainingsmetriken fĂŒr eine vollstĂ€ndige Reproduzierbarkeit der Experimente, eine interaktive BenutzeroberflĂ€che fĂŒr eine optimierte Datenanalyse und effiziente Modellverwaltungstools fĂŒr den Einsatz in verschiedenen Umgebungen.

YOLOv8 Ausbildung mit Weights & Biases

Mit Weights & Biases kannst du deinen YOLOv8 Schulungsprozess effizienter gestalten und automatisieren.

Installation

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

Installation

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

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.

Konfigurieren von Weights & Biases

Nachdem du die notwendigen Pakete installiert hast, musst du im nĂ€chsten Schritt deine Weights & Biases Umgebung einrichten. Dazu gehört die Einrichtung eines Weights & Biases Kontos und die Beschaffung des notwendigen API-SchlĂŒssels fĂŒr eine reibungslose Verbindung zwischen deiner Entwicklungsumgebung und der W&B Plattform.

Beginne damit, die Umgebung Weights & Biases in deinem Arbeitsbereich zu initialisieren. Dazu fĂŒhrst du den folgenden Befehl aus und befolgst die angezeigten Anweisungen.

Erste SDK-Einrichtung

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

Rufe die Autorisierungsseite Weights & Biases auf, um deinen API-SchlĂŒssel zu erstellen und abzurufen. Verwende diesen SchlĂŒssel, um deine Umgebung bei W&B zu authentifizieren.

Verwendung: Ausbildung YOLOv8 mit Weights & Biases

Bevor du dich mit der Gebrauchsanweisung fĂŒr die YOLOv8 Modellschulung mit Weights & Biases beschĂ€ftigst, solltest du dir die Palette der YOLOv8 Modelle ansehen, die von Ultralytics angeboten werden. Das wird dir helfen, das am besten geeignete Modell fĂŒr deine Projektanforderungen auszuwĂ€hlen.

Verwendung: Ausbildung YOLOv8 mit 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()

Den Kodex verstehen

Lass uns die Schritte verstehen, die im obigen Code-Schnipsel gezeigt werden.

  • Schritt 1: Initialisiere einen Weights & Biases Lauf: Beginne damit, einen Weights & Biases Lauf zu initialisieren, indem du den Projektnamen und den Jobtyp angibst. Dieser Lauf wird die Trainings- und Validierungsprozesse deines Modells verfolgen und verwalten.

  • Schritt 2: Definiere das YOLOv8 Modell und den Datensatz: Gib die Modellvariante und den Datensatz an, den du verwenden möchtest. Das Modell YOLO wird dann mit der angegebenen Modelldatei initialisiert.

  • Schritt 3: FĂŒge Weights & Biases Callback fĂŒr Ultralytics hinzu: Dieser Schritt ist entscheidend, da er die automatische Protokollierung der Trainingsmetriken und Validierungsergebnisse auf Weights & Biases ermöglicht und so einen detaillierten Einblick in die Leistung des Modells bietet.

  • Schritt 4: Trainieren und Feinabstimmung des Modells: Beginne mit dem Training des Modells mit dem angegebenen Datensatz, der Anzahl der Epochen und der BildgrĂ¶ĂŸe. Der Trainingsprozess umfasst die Aufzeichnung von Kennzahlen und Vorhersagen am Ende jeder Epoche und bietet einen umfassenden Überblick ĂŒber den Lernfortschritt des Modells.

  • Schritt 5: Validierung des Modells: Nach dem Training wird das Modell validiert. Dieser Schritt ist entscheidend, um die Leistung des Modells bei ungesehenen Daten zu beurteilen und seine Verallgemeinerbarkeit sicherzustellen.

  • Schritt 6: Inferenz durchfĂŒhren und Ergebnisse protokollieren: Das Modell fĂŒhrt Vorhersagen fĂŒr die angegebenen Bilder durch. Diese Vorhersagen werden zusammen mit visuellen Überlagerungen und Erkenntnissen automatisch in einer W&B-Tabelle zur interaktiven Erkundung protokolliert.

  • Schritt 7: Schließe den W&B-Lauf ab: Dieser Schritt markiert das Ende der Datenerfassung und speichert den Endzustand des Trainings- und Validierungsprozesses deines Modells im W&B-Dashboard.

Den Output verstehen

Wenn du das obige Code-Snippet ausfĂŒhrst, kannst du die folgenden wichtigen Ergebnisse erwarten:

  • Die Einrichtung eines neuen Laufs mit seiner eindeutigen ID, die den Beginn des Trainingsprozesses anzeigt.
  • Eine prĂ€gnante Zusammenfassung der Struktur des Modells, einschließlich der Anzahl der Schichten und Parameter.
  • RegelmĂ€ĂŸige Aktualisierungen wichtiger Metriken wie Box Loss, Cls Loss, Dfl Loss, Precision, Recall und mAP Scores wĂ€hrend jeder Trainingsepoche.
  • Am Ende des Trainings werden detaillierte Metriken angezeigt, darunter die Inferenzgeschwindigkeit des Modells und die Gesamtgenauigkeit.
  • Links zum Weights & Biases Dashboard fĂŒr eine detaillierte Analyse und Visualisierung des Trainingsprozesses sowie Informationen zu den Speicherorten der lokalen Logdateien.

Anzeigen des Weights & Biases Dashboards

Nachdem du das Code Snippet ausgefĂŒhrt hast, kannst du das Weights & Biases (W&B) Dashboard ĂŒber den Link in der Ausgabe aufrufen. Dieses Dashboard bietet einen umfassenden Überblick ĂŒber den Trainingsprozess deines Modells mit YOLOv8.

Die wichtigsten Funktionen des Weights & Biases Dashboards

  • Verfolgung der Metriken in Echtzeit: Beobachte Metriken wie Verlust, Genauigkeit und Validierungsergebnisse, wie sie sich wĂ€hrend des Trainings entwickeln, und erhalte sofortige Einblicke fĂŒr die Modelloptimierung.

  • Hyperparameter-Optimierung: Weights & Biases hilft bei der Feinabstimmung kritischer Parameter wie Lernrate, StapelgrĂ¶ĂŸe und mehr, um die Leistung von YOLOv8 zu verbessern.

  • Vergleichende Analyse: Die Plattform ermöglicht es, verschiedene TrainingslĂ€ufe nebeneinander zu vergleichen, was wichtig ist, um die Auswirkungen verschiedener Modellkonfigurationen zu bewerten.

  • Visualisierung des Trainingsfortschritts: Grafische Darstellungen der wichtigsten Metriken ermöglichen ein intuitives VerstĂ€ndnis der Leistung des Modells ĂŒber Epochen hinweg.

  • RessourcenĂŒberwachung: Verfolge die CPU-, GPU- und Speichernutzung, um die Effizienz des Trainingsprozesses zu optimieren.

  • Verwaltung von Modellartefakten: Greife auf Modell-Checkpoints zu und tausche sie aus, um die Bereitstellung und Zusammenarbeit zu erleichtern.

  • Anzeige der Vorhersageergebnisse mit BildĂŒberlagerung: Visualisiere die Vorhersageergebnisse auf Bildern mit interaktiven Überlagerungen in Weights & Biases und erhalte einen klaren und detaillierten Überblick ĂŒber die Leistung des Modells auf realen Daten. AusfĂŒhrlichere Informationen zu den BildĂŒberlagerungsfunktionen von Weights & Biasesfindest du unter diesem Link.

Mit diesen Funktionen kannst du die Ausbildung deines YOLOv8 Modells effektiv verfolgen, analysieren und optimieren und so die bestmögliche Leistung und Effizienz sicherstellen.

Zusammenfassung

Dieser Leitfaden half dir, die Integration von Ultralytics' YOLOv8 mit Weights & Biases zu erkunden. Er veranschaulicht die FĂ€higkeit dieser Integration, die Ergebnisse des Modelltrainings und der Vorhersage effizient zu verfolgen und zu visualisieren.

Weitere Einzelheiten zur Verwendung findest du in der offiziellen Dokumentation vonWeights & Biases.

Schau dir auch den Integrationsleitfaden aufUltralytics an, um mehr ĂŒber verschiedene spannende Integrationen zu erfahren.



Erstellt am 2023-12-28, Aktualisiert am 2024-01-15
Autoren: glenn-jocher (3), abirami-vina (1)

Kommentare