YOLO26-Training optimieren: Vereinfache deine Protokollierung mit Comet#
Das Protokollieren wichtiger Trainingsdetails wie Parametern, Metriken, Bildvorhersagen und Modellprüfpunkten ist beim maschinellen Lernen unverzichtbar – dadurch bleibt dein Projekt transparent, dein Fortschritt messbar und deine Ergebnisse reproduzierbar.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 lässt sich nahtlos in Comet (ehemals Comet ML) integrieren und erfasst sowie optimiert effizient jeden Aspekt des Trainingsprozesses deines YOLO26-Modells zur Objekterkennung. In diesem Leitfaden behandeln wir die Installation, die Einrichtung von Comet, Einblicke in Echtzeit, die benutzerdefinierte Protokollierung und die Offline-Nutzung, damit dein YOLO26-Training umfassend dokumentiert und für herausragende Ergebnisse fein abgestimmt wird.
Comet#
Comet ist eine Plattform zum Nachverfolgen, Vergleichen, Erklären und Optimieren von Modellen und Experimenten des maschinellen Lernens. Du kannst damit während des Modelltrainings Metriken, Parameter, Mediendateien und mehr protokollieren und deine Experimente über eine ansprechend gestaltete Weboberfläche überwachen. Comet hilft Data Scientists, schneller zu iterieren, verbessert Transparenz und Reproduzierbarkeit und unterstützt die Entwicklung produktionsreifer Modelle.
Die Leistungsfähigkeit von YOLO26 und Comet nutzen#
Durch die Kombination von Ultralytics YOLO26 mit Comet erschließt du dir zahlreiche Vorteile. Dazu gehören eine vereinfachte Experimentverwaltung, Einblicke in Echtzeit für schnelle Anpassungen, flexible und individuell anpassbare Protokollierungsoptionen sowie die Möglichkeit, Experimente bei eingeschränktem Internetzugang offline zu protokollieren. Diese Integration ermöglicht dir datengestützte Entscheidungen, die Analyse von Leistungsmetriken und das Erreichen herausragender Ergebnisse.
Installation#
Führe zur Installation der erforderlichen Pakete Folgendes aus:
# Install YOLO26 and Comet
pip install ultralytics comet_mlComet konfigurieren#
Nachdem du die erforderlichen Pakete installiert hast, musst du dich registrieren, einen Comet API Key abrufen und ihn konfigurieren.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYAuthentifiziere dich anschließend bei Comet. Der Ultralytics-Callback erstellt das Experiment und verwendet das YOLO-Trainingsargument project als Comet-Projektname.
import comet_ml
comet_ml.login()Wenn du ein Google-Colab-Notebook verwendest, fordert dich der obige Code zur Eingabe deines API-Schlüssels für die Initialisierung auf.
Verwendung#
Bevor du mit den Nutzungsanweisungen beginnst, sieh dir unbedingt die Auswahl an YOLO26-Modellen von Ultralytics an. So kannst du das für deine Projektanforderungen am besten geeignete Modell auswählen.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)Nach der Ausführung des Trainingscodes erstellt Comet in deinem Comet-Arbeitsbereich automatisch ein Experiment, um den Lauf zu verfolgen. Anschließend erhältst du einen Link zur detaillierten Protokollierung des Trainingsprozesses deines YOLO26-Modells.
Comet protokolliert automatisch und ohne zusätzliche Konfiguration die folgenden Daten: Metriken wie mAP und Verlust, Hyperparameter, Modellprüfpunkte, eine interaktive Konfusionsmatrix und Bildvorhersagen mit Begrenzungsrahmen.
Die Leistung deines Modells mit Comet-Visualisierungen verstehen#
Sehen wir uns an, was du auf dem Comet-Dashboard sehen wirst, sobald dein YOLO26-Modell mit dem Training beginnt. Auf dem Dashboard werden automatisch protokollierte Informationen in Form von Visualisierungen und Statistiken dargestellt. Hier ein kurzer Überblick:
Experimentbereiche
Der Bereich für Experimentbereiche im Comet-Dashboard organisiert und präsentiert die verschiedenen Läufe und ihre Metriken, etwa den Verlust der Segmentmasken, den Klassenverlust, die Präzision und die mittlere durchschnittliche Präzision.
Metriken
Im Metrikbereich kannst du die Metriken zusätzlich in Tabellenform untersuchen. Sie werden wie hier dargestellt in einem eigenen Bereich angezeigt.
Interaktive Konfusionsmatrix
Die Konfusionsmatrix im Tab „Confusion Matrix“ bietet eine interaktive Möglichkeit, die Genauigkeit der Modellklassifizierung zu bewerten. Sie zeigt die richtigen und falschen Vorhersagen im Detail und hilft dir, die Stärken und Schwächen des Modells zu verstehen.
Systemmetriken
Comet protokolliert Systemmetriken, um mögliche Engpässe im Trainingsprozess zu erkennen. Dazu gehören Metriken wie GPU-Auslastung, GPU-Speichernutzung, CPU-Auslastung und RAM-Nutzung. Diese sind wichtig, um die Effizienz der Ressourcennutzung während des Modelltrainings zu überwachen.
Comet-Protokollierung anpassen#
Comet bietet die Möglichkeit, sein Protokollierungsverhalten mithilfe von Umgebungsvariablen anzupassen. Mit diesen Einstellungen kannst du Comet auf deine spezifischen Anforderungen und Vorlieben zuschneiden. Der Ultralytics-Callback liest die folgenden Umgebungsvariablen (lege sie vor Beginn des Trainings fest):
| Umgebungsvariable | Standardwert | Beschreibung |
|---|---|---|
COMET_START_ONLINE | 1 | Das Experiment im Online-Modus (1) oder Offline-Modus (0) ausführen. |
COMET_PROJECT_NAME | args.project | Comet-Arbeitsbereichsprojekt. Wird auf das YOLO-Trainingsargument project zurückgesetzt, wenn kein Wert festgelegt ist. |
COMET_MODEL_NAME | Ultralytics | Name, unter dem das protokollierte Modellartefakt registriert wird. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Gesamtzahl der Bildvorhersagen aus der Validierung, die pro Lauf protokolliert werden. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Bildvorhersagen bei jedem N-ten Validierungs-Batch protokollieren. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Die Protokollierung von Bildvorhersagen aktivieren (true) oder deaktivieren (false). |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Bei jeder Validierungsepoche eine Konfusionsmatrix protokollieren. Eine abschließende Matrix wird am Ende des Trainings immer protokolliert. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Multiplikator, der vor der Protokollierung auf die Konfidenzwerte der Erkennung angewendet wird (die Comet-Benutzeroberfläche erwartet eine prozentuale Skala). |
COMET_MODE (veraltet) | online | Veralteter Alias für COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Gibt eine Warnung zur veralteten Verwendung aus. |
Bei den booleschen Umschaltern (COMET_EVAL_LOG_IMAGE_PREDICTIONS und COMET_EVAL_LOG_CONFUSION_MATRIX) werden die Werte 1, true, yes, on, y und t als True interpretiert (ohne Berücksichtigung der Groß-/Kleinschreibung). Jeder andere Wert ist False.
Bildvorhersagen protokollieren#
Du kannst die Anzahl der Bildvorhersagen steuern, die Comet während deiner Experimente protokolliert. Standardmäßig protokolliert Comet 100 Bildvorhersagen aus dem Validierungssatz. Du kannst diese Zahl jedoch an deine Anforderungen anpassen. Um beispielsweise 200 Bildvorhersagen zu protokollieren, verwende den folgenden Code:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Um die Protokollierung von Bildvorhersagen vollständig zu deaktivieren (beispielsweise um das Uploadvolumen bei langsamen Verbindungen zu reduzieren), setze COMET_EVAL_LOG_IMAGE_PREDICTIONS auf "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Intervall für die Batch-Protokollierung#
Mit Comet kannst du festlegen, wie häufig Batches mit Bildvorhersagen protokolliert werden. Die Umgebungsvariable COMET_EVAL_BATCH_LOGGING_INTERVAL steuert dieses Intervall. Die Standardeinstellung ist 1, wodurch Vorhersagen aus jedem Validierungs-Batch protokolliert werden. Du kannst diesen Wert anpassen, um Vorhersagen in einem anderen Intervall zu protokollieren. Wenn du ihn beispielsweise auf 4 setzt, werden Vorhersagen aus jedem vierten Batch protokolliert.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Protokollierung der Konfusionsmatrix deaktivieren#
In manchen Fällen möchtest du die Konfusionsmatrix deines Validierungssatzes nicht nach jeder Epoche protokollieren. Du kannst diese Funktion deaktivieren, indem du die Umgebungsvariable COMET_EVAL_LOG_CONFUSION_MATRIX auf „false“ setzt. Die Konfusionsmatrix wird dann nur einmal nach Abschluss des Trainings protokolliert.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Online- und Offline-Modus#
Standardmäßig wird Comet im Online-Modus ausgeführt und überträgt Experimentdaten an die Comet-Server. Wenn du ohne Internetzugang trainieren musst, setze COMET_START_ONLINE=0, bevor das Training beginnt. Die Experimentdaten werden lokal gespeichert und können später mit der comet upload-CLI hochgeladen werden.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offlineFrühere Versionen verwendeten hierfür COMET_MODE="offline". Die Variable wird aus Gründen der Abwärtskompatibilität weiterhin berücksichtigt, gibt jedoch eine Warnung zur veralteten Verwendung aus. Verwende künftig COMET_START_ONLINE.
Projektname#
Standardmäßig übergibt der Comet-Callback das YOLO-Trainingsargument project an Comet (oder None, wenn das Argument nicht gesetzt ist; in diesem Fall verwendet Comet den Standard deines Arbeitsbereichs). Überschreibe dies mit COMET_PROJECT_NAME, um alle Experimente unabhängig vom YOLO-Trainingsargument an ein bestimmtes Comet-Arbeitsbereichsprojekt zu senden:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Name des Modellartefakts#
COMET_MODEL_NAME legt den Namen fest, unter dem Comet das protokollierte Modellartefakt registriert (Standard ist Ultralytics). Verwende ihn, um Modellvarianten in einem gemeinsam genutzten Arbeitsbereich zu unterscheiden:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Skalierung der Konfidenzwerte#
Konfidenzwerte der Erkennung werden im Bereich [0, 1] ausgegeben, die Comet-Benutzeroberfläche zeigt sie standardmäßig jedoch auf einer prozentualen Skala an. Der Callback multipliziert jeden Wert vor der Protokollierung mit COMET_MAX_CONFIDENCE_SCORE (Standard 100.0). Passe dies an, wenn du die unveränderten Wahrscheinlichkeiten oder eine andere Skala bevorzugst:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresZusammenfassung#
Dieser Leitfaden hat dich durch die Integration von Comet in Ultralytics YOLO26 geführt. Von der Installation bis zur Anpassung hast du gelernt, wie du die Experimentverwaltung vereinfachst, Einblicke in Echtzeit erhältst und die Protokollierung an die Anforderungen deines Projekts anpasst.
Sieh dir die offizielle Dokumentation zur YOLOv8-Integration in Comet an, die auch für YOLO26-Projekte gilt.
Wenn du außerdem tiefer in die praktischen Anwendungen von YOLO26 eintauchen möchtest, insbesondere in Aufgaben zur Bildsegmentierung, bietet dieser ausführliche Leitfaden zum Feinabstimmen von YOLO26 mit Comet wertvolle Einblicke und schrittweise Anleitungen zur Verbesserung der Modellleistung.
Wenn du weitere interessante Integrationen mit Ultralytics erkunden möchtest, sieh dir außerdem die Seite mit dem Integrationsleitfaden mit zahlreichen Ressourcen und Informationen an.
FAQ#
Führe die folgenden Schritte aus, um Comet in Ultralytics YOLO26 zu integrieren:
-
Erforderliche Pakete installieren:
pip install ultralytics comet_ml -
Comet API Key einrichten:
export COMET_API_KEY=YOUR_API_KEY -
In deinem Python-Code bei Comet authentifizieren:
import comet_ml comet_ml.login() -
Dein YOLO26-Modell trainieren und Metriken protokollieren:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
Ausführlichere Anweisungen findest du im Abschnitt Comet konfigurieren.
-
Durch die Integration von Ultralytics YOLO26 mit Comet kannst du:
- Einblicke in Echtzeit überwachen: Erhalte sofortiges Feedback zu deinen Trainingsergebnissen und nimm dadurch schnell Anpassungen vor.
- Umfangreiche Metriken protokollieren: Erfasse automatisch wichtige Metriken wie mAP, Verlust, Hyperparameter und Modellprüfpunkte.
- Experimente offline verfolgen: Protokolliere deine Trainingsläufe lokal, wenn kein Internetzugang verfügbar ist.
- Verschiedene Trainingsläufe vergleichen: Nutze das interaktive Comet-Dashboard, um mehrere Experimente zu analysieren und zu vergleichen.
Mit diesen Funktionen kannst du deine Workflows für maschinelles Lernen im Hinblick auf bessere Leistung und Reproduzierbarkeit optimieren. Weitere Informationen findest du im Comet-Integrationsleitfaden.
Comet ermöglicht eine umfassende Anpassung seines Protokollierungsverhaltens mithilfe von Umgebungsvariablen:
-
Anzahl der protokollierten Bildvorhersagen ändern:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Intervall für die Batch-Protokollierung anpassen:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Protokollierung der Konfusionsmatrix deaktivieren:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false" -
Comet-Projektnamen festlegen:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Namen des protokollierten Modellartefakts festlegen:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Eine vollständige Liste, einschließlich Schaltern für Bildvorhersagen, der Skalierung von Konfidenzwerten sowie des Online-/Offline-Modus, findest du im Abschnitt Comet-Protokollierung anpassen.
-
Sobald dein YOLO26-Modell mit dem Training beginnt, kannst du auf dem Comet-Dashboard zahlreiche Metriken und Visualisierungen aufrufen. Zu den wichtigsten Funktionen gehören:
- Experimentbereiche: Zeige verschiedene Läufe und ihre Metriken an, darunter den Verlust der Segmentmasken, den Klassenverlust und die mittlere durchschnittliche Präzision.
- Metriken: Untersuche Metriken für eine detaillierte Analyse in Tabellenform.
- Interaktive Konfusionsmatrix: Bewerte die Klassifizierungsgenauigkeit mit einer interaktiven Konfusionsmatrix.
- Systemmetriken: Überwache GPU- und CPU-Auslastung, Speichernutzung und weitere Systemmetriken.
Eine ausführliche Übersicht dieser Funktionen findest du im Abschnitt Die Leistung deines Modells mit Comet-Visualisierungen verstehen.
Ja. Setze
COMET_START_ONLINE=0, bevor das Training beginnt, um lokal zu protokollieren:import os os.environ["COMET_START_ONLINE"] = "0"Die Experimentdaten werden auf dem Datenträger gespeichert und können später mit der
comet upload-CLI zu Comet hochgeladen werden, sobald eine Verbindung verfügbar ist. Die frühere VariableCOMET_MODE="offline"funktioniert weiterhin, gibt jedoch eine Warnung zur veralteten Verwendung aus. Weitere Informationen findest du im Abschnitt Online- und Offline-Modus.