YOLO-Experiment-Tracking und Visualisierung mit Weights & Biases#
Objekterkennungsmodelle wie Ultralytics YOLO26 sind zu einem festen Bestandteil vieler Computer-Vision-Anwendungen geworden. Das Trainieren, Evaluieren und Bereitstellen dieser komplexen Modelle bringt jedoch mehrere Herausforderungen mit sich. Das Erfassen wichtiger Trainingsmetriken, der Vergleich verschiedener Modellvarianten, die Analyse des Modellverhaltens und das Erkennen von Problemen erfordern eine umfangreiche Instrumentierung und Experimentverwaltung.
Watch: How to use Ultralytics YOLO26 with Weights and Biases
Dieser Leitfaden zeigt die Integration von Ultralytics YOLO26 mit Weights & Biases für ein verbessertes Experiment-Tracking, die Verwaltung von Modell-Checkpoints und die Visualisierung der Modellleistung. Außerdem enthält er Anleitungen zum Einrichten der Integration, zum Trainieren und zum Visualisieren von Ergebnissen mithilfe der interaktiven Funktionen von Weights & Biases.
Weights & Biases#
Weights & Biases ist eine moderne MLOps-Plattform zum Erfassen, Visualisieren und Verwalten von Machine-Learning-Experimenten. Sie bietet die automatische Protokollierung von Trainingsmetriken für eine vollständige Reproduzierbarkeit von Experimenten, eine interaktive Benutzeroberfläche für eine optimierte Datenanalyse und effiziente Werkzeuge zur Modellverwaltung für die Bereitstellung in verschiedenen Umgebungen.
YOLO26 mit Weights & Biases trainieren#
Mit Weights & Biases kannst du deinen YOLO26-Trainingsprozess effizienter und automatisierter gestalten. Die Integration ermöglicht es dir, Experimente zu verfolgen, Modelle zu vergleichen und datenbasierte Entscheidungen zur Verbesserung deiner Computer-Vision-Projekte zu treffen.
Installation#
Führe zur Installation der erforderlichen Pakete Folgendes aus:
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb
# Enable W&B logging for Ultralytics
yolo settings wandb=TrueAusführliche Anweisungen und bewährte Verfahren zur Installation findest du in unserem YOLO26-Installationsleitfaden. Wenn du bei der Installation der für YOLO26 erforderlichen Pakete auf Schwierigkeiten stößt, findest du in unserem Leitfaden zu häufigen Problemen Lösungen und Tipps.
Weights & Biases konfigurieren#
Nach der Installation der erforderlichen Pakete besteht der nächste Schritt darin, deine Weights-&-Biases-Umgebung einzurichten. Dazu gehören das Erstellen eines Weights-&-Biases-Kontos und das Abrufen des erforderlichen API-Schlüssels für eine reibungslose Verbindung zwischen deiner Entwicklungsumgebung und der W&B-Plattform.
Initialisiere zunächst die Weights-&-Biases-Umgebung in deinem Arbeitsbereich. Führe dazu den folgenden Befehl aus und befolge die angezeigten Anweisungen.
import wandb
# Initialize your Weights & Biases environment
wandb.login(key="YOUR_API_KEY")Rufe die Autorisierungsseite von Weights & Biases auf, um deinen API-Schlüssel zu erstellen und abzurufen. Verwende diesen Schlüssel, wenn du dazu aufgefordert wirst, deine Umgebung bei W&B zu authentifizieren.
Verwendung: YOLO26 mit Weights & Biases trainieren#
Bevor du mit den Anweisungen zur Verwendung von Weights & Biases für das Training von YOLO26-Modellen beginnst, solltest du dir die verschiedenen von Ultralytics angebotenen YOLO26-Modelle ansehen. So kannst du das für deine Projektanforderungen am besten geeignete Modell auswählen.
from ultralytics import YOLO
# Load a YOLO model
model = YOLO("yolo26n.pt")
# Train and Fine-Tune the Model
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")W&B-Argumente#
| Argument | Standardwert | Beschreibung |
|---|---|---|
| project | None | Gibt den Namen des Projekts an, das lokal und in W&B protokolliert wird. So kannst du mehrere Durchläufe gruppieren. |
| name | None | Der Name des Trainingsdurchlaufs. Dieser bestimmt den Namen der erstellten Unterordner sowie den für die W&B-Protokollierung verwendeten Namen. |
| save | True | Legt fest, ob der beste Checkpoint als W&B-Modellartefakt hochgeladen wird. |
Wenn du die Weights-&-Biases-Protokollierung in Ultralytics aktivieren oder deaktivieren möchtest, kannst du den Befehl yolo settings verwenden. Standardmäßig ist die Weights-&-Biases-Protokollierung deaktiviert.
# Enable Weights & Biases logging
yolo settings wandb=True
# Disable Weights & Biases logging
yolo settings wandb=FalseDie Ausgabe verstehen#
Nach der Ausführung des obigen Codeausschnitts kannst du mit den folgenden wichtigen Ausgaben rechnen:
- Die Einrichtung eines neuen Durchlaufs mit einer eindeutigen ID, die den Beginn des Trainingsprozesses anzeigt.
- Eine kurze Zusammenfassung der Modellstruktur einschließlich der Anzahl der Layer und Parameter.
- Regelmäßige Aktualisierungen wichtiger Metriken wie Box-Loss, Klassen-Loss, Distanz-Loss der Box, Precision, Recall und mAP-Werte während jeder Trainings-Epoche.
- Am Ende des Trainings werden detaillierte Metriken angezeigt, darunter die Inferenzgeschwindigkeit des Modells und die übergreifenden Accuracy-Metriken.
- Links zum Weights-&-Biases-Dashboard für eine eingehende Analyse und Visualisierung des Trainingsprozesses sowie Informationen zu den Speicherorten der lokalen Protokolldateien.
Das Weights-&-Biases-Dashboard anzeigen#
Nach der Ausführung des Codeausschnitts kannst du über den in der Ausgabe bereitgestellten Link auf das Weights-&-Biases-(W&B-)Dashboard zugreifen. Dieses Dashboard bietet eine umfassende Übersicht über den Trainingsprozess deines Modells mit YOLO26.
Wichtige Funktionen des Weights-&-Biases-Dashboards#
-
Metriken in Echtzeit verfolgen: Beobachte Metriken wie Loss, Accuracy und Validierungswerte während des Trainings, um sofortige Einblicke für die Modellabstimmung zu erhalten. Sieh dir an, wie Experimente mit Weights & Biases verfolgt werden.
-
Hyperparameter-Optimierung: Weights & Biases unterstützt dich bei der Feinabstimmung wichtiger Parameter wie Lernrate, Batchgröße und weiterer Parameter, um die Leistung von YOLO26 zu steigern. So findest du die optimale Konfiguration für deinen spezifischen Datensatz und deine Aufgabe.
-
Vergleichende Analyse: Die Plattform ermöglicht den direkten Vergleich verschiedener Trainingsdurchläufe. Das ist wichtig, um die Auswirkungen unterschiedlicher Modellkonfigurationen zu bewerten und zu verstehen, welche Änderungen die Leistung verbessern.
-
Trainingsfortschritt visualisieren: Grafische Darstellungen wichtiger Metriken vermitteln ein intuitives Verständnis der Modellleistung über die Epochen hinweg. Sieh dir an, wie Weights & Biases dich bei der Visualisierung von Validierungsergebnissen unterstützt.
-
Ressourcen überwachen: Behalte die Nutzung von CPU, GPU und Arbeitsspeicher im Blick, um die Effizienz des Trainingsprozesses zu optimieren und potenzielle Engpässe in deinem Arbeitsablauf zu erkennen.
-
Modellartefakte verwalten: Greife auf Modell-Checkpoints zu und teile sie, um die Bereitstellung zu vereinfachen und die Zusammenarbeit mit Teammitgliedern an komplexen Projekten zu ermöglichen.
Mit diesen Funktionen kannst du das Training deines YOLO26-Modells effektiv verfolgen, analysieren und optimieren und so die bestmögliche Leistung und Effizienz für deine Objekterkennungs-Aufgaben sicherstellen.
Zusammenfassung#
Dieser Leitfaden hat dir gezeigt, wie du die Ultralytics-YOLO-Integration mit Weights & Biases nutzen kannst. Er veranschaulicht, wie die Integration das Training und die Vorhersageergebnisse von Modellen effizient erfasst und visualisiert. Durch die Nutzung der leistungsstarken Funktionen von W&B kannst du deinen Machine-Learning-Arbeitsablauf optimieren, datenbasierte Entscheidungen treffen und die Leistung deines Modells verbessern.
Weitere Informationen zur Verwendung findest du in der offiziellen Dokumentation von Weights & Biases. Du kannst auch die Präsentation von Soumik Rakshit von YOLO VISION 2023 zu dieser Integration ansehen.
Sieh dir außerdem die Ultralytics-Seite mit Integrationsleitfäden an, um mehr über weitere interessante Integrationen wie MLflow und Comet ML zu erfahren.
FAQ#
So integrierst du Weights & Biases in Ultralytics YOLO26:
-
Installiere die erforderlichen Pakete:
pip install -U ultralytics wandb yolo settings wandb=True -
Melde dich bei deinem Weights-&-Biases-Konto an:
import wandb wandb.login(key="YOUR_API_KEY") -
Trainiere dein YOLO26-Modell mit aktivierter W&B-Protokollierung:
from ultralytics import YOLO model = YOLO("yolo26n.pt") model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")
Dadurch werden Metriken, Hyperparameter und Modellartefakte automatisch in deinem W&B-Projekt protokolliert.
-
Zu den wichtigsten Funktionen gehören:
- Verfolgung von Metriken in Echtzeit während des Trainings
- Werkzeuge zur Hyperparameter-Optimierung
- Vergleichende Analyse verschiedener Trainingsdurchläufe
- Visualisierung des Trainingsfortschritts anhand von Diagrammen
- Überwachung der Ressourcen (CPU-, GPU- und Arbeitsspeichernutzung)
- Verwaltung und gemeinsame Nutzung von Modellartefakten
Diese Funktionen helfen dir, Experimente zu verfolgen, Modelle zu optimieren und effektiver an YOLO26-Projekten zusammenzuarbeiten.
Nachdem du dein Trainingsskript mit W&B-Integration ausgeführt hast:
- In der Konsolenausgabe wird ein Link zu deinem W&B-Dashboard bereitgestellt.
- Klicke auf den Link oder rufe wandb.ai auf und melde dich bei deinem Konto an.
- Navigiere zu deinem Projekt, um detaillierte Metriken, Visualisierungen und Daten zur Modellleistung anzuzeigen.
Das Dashboard bietet Einblicke in den Trainingsprozess deines Modells und ermöglicht es dir, deine YOLO26-Modelle effektiv zu analysieren und zu verbessern.
Ja, du kannst die W&B-Protokollierung mit dem folgenden Befehl deaktivieren:
yolo settings wandb=FalseVerwende zum erneuten Aktivieren der Protokollierung:
yolo settings wandb=TrueSo kannst du steuern, wann du die W&B-Protokollierung verwenden möchtest, ohne deine Trainingsskripte ändern zu müssen.
Weights & Biases unterstützt dich bei der Optimierung von YOLO26-Modellen durch:
- Bereitstellung detaillierter Visualisierungen von Trainingsmetriken
- Ermöglichung eines einfachen Vergleichs verschiedener Modellversionen
- Bereitstellung von Werkzeugen für die Hyperparameterabstimmung
- Ermöglichung der gemeinsamen Analyse der Modellleistung
- Vereinfachung des Teilens von Modellartefakten und Ergebnissen
Diese Funktionen helfen Forschenden und Entwickelnden, schneller zu iterieren und datenbasierte Entscheidungen zur Verbesserung ihrer YOLO26-Modelle zu treffen.