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.

Dieser Leitfaden zeigt Ultralytics YOLOv8 Integration mit Weights & Biases' für verbesserte Experimentverfolgung, Modell-Checkpointing und Visualisierung der Modellleistung. Es enthält auch Anweisungen zum Einrichten der Integration, zum Training, zur Feinabstimmung und zur Visualisierung der Ergebnisse mit Weights & Biases' interaktive Funktionen.

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 das YOLOv8 Modelltraining mit Weights & Biases beschäftigst, solltest du dir die verschiedenen 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

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

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

# Load a YOLO model
model = YOLO("yolov8n.pt")

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

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

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

# Finalize the W&B Run
wandb.finish()

Den Kodex verstehen

Lassen Sie uns die Schritte verstehen, die im obigen Verwendungscode-Snippet 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.

Die Ausgabe 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 kurze 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. Sieh dir an, wie die Experimente mit Weights & Biases verfolgt werden.

  • 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. Schau dir an, wie Weights & Biases dir hilft, Validierungsergebnisse zu visualisieren.

  • Ressourcenüberwachung: Behalte den Überblick über CPU, GPU und die 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-Overlay: 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ührliche Informationen zu den Funktionen von Weights & Biases findest du unter diesem Link. Sieh dir an, wie Weights & Biases' Bildüberlagerungen helfen, Modellaussagen zu visualisieren.

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 hat Ihnen geholfen, Ultralytics' YOLOv8 Integration mit Weights & Biases. Es veranschaulicht die Fähigkeit dieser Integration, Modelltrainings- und Vorhersageergebnisse 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.

FAQ

Wie installiere ich die erforderlichen Pakete für YOLOv8 und Weights & Biases?

Um die erforderlichen Pakete für YOLOv8 und Weights & Biases zu installieren, öffne deine Kommandozeile und führe aus:

pip install --upgrade ultralytics==8.0.186 wandb

Weitere Hinweise zu den Installationsschritten findest du in unserem YOLOv8 Installationsleitfaden. Wenn du auf Probleme stößt, findest du im Leitfaden für allgemeine Probleme Tipps zur Fehlerbehebung.

Was sind die Vorteile der Integration von Ultralytics YOLOv8 mit Weights & Biases?

Die Integration von Ultralytics YOLOv8 mit Weights & Biases bietet mehrere Vorteile:

  • Verfolgung von Kennzahlen in Echtzeit: Beobachte die Veränderungen der Metriken während des Trainings und erhalte sofortige Einblicke.
  • Hyperparameter-Optimierung: Verbessere die Leistung des Modells, indem du die Lernrate, die Stapelgröße usw. fein abstimmst.
  • Vergleichende Analyse: Seite-an-Seite-Vergleich von verschiedenen Trainingsläufen.
  • Ressourcenüberwachung: Behalte den Überblick über CPU, GPU, und die Speichernutzung.
  • Verwaltung von Modellartefakten: Einfacher Zugriff und gemeinsame Nutzung von Modellprüfpunkten.

Erkunde diese Funktionen im Detail im Abschnitt Weights & Biases Dashboard oben.

Wie kann ich Weights & Biases für die Schulung YOLOv8 konfigurieren?

Um Weights & Biases für YOLOv8 zu konfigurieren, befolge diese Schritte:

  1. Führe den Befehl aus, um Weights & Biases zu initialisieren:
    import wandb
    wandb.login()
    
  2. Rufe deinen API-Schlüssel von der Website Weights & Biases ab.
  3. Verwende den API-Schlüssel, um deine Entwicklungsumgebung zu authentifizieren.

Detaillierte Anweisungen zur Einrichtung findest du im Abschnitt " Weights & Biases ".

Wie trainiere ich ein YOLOv8 Modell mit Weights & Biases?

Um ein YOLOv8 Modell mit Weights & Biases zu trainieren, verwende die folgenden Schritte in einem Python Skript:

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

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

# Load a YOLO model
model = YOLO("yolov8n.pt")

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

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

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

# Finalize the W&B Run
wandb.finish()

Dieses Skript initialisiert Weights & Biases, richtet das Modell ein, trainiert es und protokolliert die Ergebnisse. Weitere Einzelheiten findest du im Abschnitt "Verwendung" weiter oben.

Warum sollte ich Ultralytics YOLOv8 mit Weights & Biases gegenüber anderen Plattformen verwenden?

Ultralytics YOLOv8 integriert mit Weights & Biases bietet mehrere einzigartige Vorteile:

  • Hohe Effizienz: Echtzeit-Tracking von Trainingskennzahlen und Leistungsoptimierung.
  • Skalierbarkeit: Verwalte große Schulungsaufträge mit robusten Tools zur Überwachung und Nutzung von Ressourcen.
  • Interaktivität: Eine benutzerfreundliche interaktive Benutzeroberfläche für die Datenvisualisierung und das Modellmanagement.
  • Gemeinschaft und Unterstützung: Starke Integrationsdokumentation und Community-Support mit flexiblen Anpassungs- und Erweiterungsoptionen.

Vergleiche mit anderen Plattformen wie Comet und ClearML findest du unter Ultralytics Integrationen.



Erstellt am 2023-12-28, Aktualisiert am 2024-07-05
Autoren: glenn-jocher (10), ambitious-octopus (1), IvorZhu331 (1), abirami-vina (1)

Kommentare