YOLO26-Training verbessern: Vereinfache die Protokollierung mit Comet#
Wichtige Trainingsdetails wie Parameter, Messwerte, Bildvorhersagen und Modellprüfpunkte zu protokollieren, ist beim maschinellen Lernen unerlässlich – so bleiben dein Projekt transparent, deine Fortschritte messbar und deine Ergebnisse reproduzierbar.
Ansehen: So verwendest du Comet für Trainingsprotokolle und Kennzahlen von Ultralytics YOLO-Modellen 🚀
Ultralytics YOLO26 lässt sich nahtlos in Comet (früher Comet ML) integrieren. Dabei werden alle Aspekte des Trainings deines YOLO26-Modells zur Objekterkennung effizient erfasst und optimiert. In dieser Anleitung behandeln wir die Installation, die Einrichtung von Comet, Einblicke in Echtzeit, benutzerdefinierte Protokollierung und die Offline-Nutzung. So wird dein YOLO26-Training umfassend dokumentiert und für herausragende Ergebnisse feinabgestimmt.
Comet#
Comet ist eine Plattform zum Nachverfolgen, Vergleichen, Erklären und Optimieren von Machine-Learning-Modellen und Experimenten. Während des Modelltrainings kannst du damit Messwerte, Parameter, Medien und mehr protokollieren und deine Experimente über eine ansprechend gestaltete Weboberfläche überwachen. Comet hilft Datenwissenschaftlerinnen und Datenwissenschaftlern, schneller zu iterieren, verbessert Transparenz und Reproduzierbarkeit und unterstützt die Entwicklung produktionsreifer Modelle.
Das Potenzial von YOLO26 und Comet nutzen#
Durch die Kombination von Ultralytics YOLO26 und Comet erschließt du dir zahlreiche Vorteile. Dazu gehören eine vereinfachte Experimentverwaltung, Einblicke in Echtzeit für schnelle Anpassungen, flexible und maßgeschneiderte Protokollierungsoptionen sowie die Möglichkeit, Experimente bei eingeschränktem Internetzugang offline zu protokollieren. Mit dieser Integration kannst du datenbasierte Entscheidungen treffen, Leistungskennzahlen analysieren und hervorragende Ergebnisse erzielen.
Installation#
Führe zum Installieren der erforderlichen Pakete Folgendes aus:
# Install YOLO26 and Comet
pip install ultralytics comet_mlComet konfigurieren#
Nach der Installation der erforderlichen Pakete musst du dich registrieren, einen Comet-API-Schlüssel abrufen und ihn konfigurieren.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYMelde dich anschließend bei Comet an. Der Ultralytics-Callback erstellt das Experiment und verwendet das YOLO-Trainingsargument project als Comet-Projektnamen.
import comet_ml
comet_ml.login()Wenn du ein Google-Colab-Notebook verwendest, fordert dich der obige Code auf, deinen API-Schlüssel zur Initialisierung einzugeben.
Verwendung#
Bevor du mit den Anwendungshinweisen beginnst, solltest du dir die verschiedenen YOLO26-Modelle von Ultralytics ansehen. So findest du das Modell, das am besten zu den Anforderungen deines Projekts passt.
from ultralytics import YOLO
# Ein Modell laden
model = YOLO("yolo26n.pt")
# Das Modell trainieren
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 nachzuverfolgen. Anschließend erhältst du einen Link, über den du die detaillierte Protokollierung des YOLO26-Modelltrainings ansehen kannst.
Comet protokolliert ohne zusätzliche Konfiguration automatisch folgende Daten: Messwerte wie mAP und Verlust, Hyperparameter, Modellprüfpunkte, eine interaktive Konfusionsmatrix sowie Begrenzungsrahmen für Bildvorhersagen.
Die Leistung deines Modells mithilfe von Comet-Visualisierungen verstehen#
Sehen wir uns an, was auf dem Comet-Dashboard angezeigt wird, sobald dein YOLO26-Modell mit dem Training beginnt. Auf dem Dashboard findest du alle automatisch protokollierten Informationen in Form von Visualisierungen und Statistiken. Hier ein kurzer Überblick:
Experimentübersichten
Der Bereich mit den Experimentübersichten im Comet-Dashboard ordnet die verschiedenen Durchläufe und ihre Messwerte und stellt sie dar, zum Beispiel den Verlust der Segmentierungsmasken, den Klassenverlust, die Präzision und die mittlere durchschnittliche Präzision.
Messwerte
Im Bereich für Messwerte kannst du diese auch in Tabellenform untersuchen. Wie hier gezeigt, werden sie in einem eigenen Fensterbereich angezeigt.
Interaktive Konfusionsmatrix
Die Konfusionsmatrix im Tab „Confusion Matrix“ bietet eine interaktive Möglichkeit, die Klassifikationsgenauigkeit des Modells zu beurteilen. Sie zeigt die richtigen und falschen Vorhersagen im Detail, sodass du die Stärken und Schwächen des Modells erkennen kannst.
Systemmesswerte
Comet protokolliert Systemmesswerte, damit du Engpässe im Trainingsprozess erkennen kannst. Dazu gehören die GPU-Auslastung, die GPU-Speichernutzung, die CPU-Auslastung und die RAM-Nutzung. Diese Messwerte sind wichtig, um die effiziente Ressourcennutzung während des Modelltrainings zu überwachen.
Comet-Protokollierung anpassen#
Mit Umgebungsvariablen kannst du das Protokollierungsverhalten von Comet flexibel anpassen. So richtest du Comet nach deinen individuellen Anforderungen und Präferenzen ein. Der Ultralytics-Callback liest die folgenden Umgebungsvariablen (lege sie vor Trainingsbeginn fest):
| Umgebungsvariable | Standard | 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ückgegriffen, wenn kein Wert festgelegt ist. |
COMET_MODEL_NAME | Ultralytics | Name, unter dem das protokollierte Modellartefakt registriert wird. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Gesamtzahl der Validierungsbildvorhersagen, die pro Durchlauf protokolliert werden. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Bildvorhersagen bei jedem N-ten Validierungs-Batch protokollieren. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Protokollierung von Bildvorhersagen aktivieren (true) oder deaktivieren (false). |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | In jeder Validierungsepoche eine Konfusionsmatrix protokollieren. Am Ende des Trainings wird immer eine abschließende Matrix protokolliert. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Multiplikator, der vor der Protokollierung auf Erkennungskonfidenzwerte angewendet wird (die Comet-Benutzeroberfläche erwartet eine Prozentskala). |
COMET_MODE (veraltet) | online | Veralteter Alias für COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Gibt eine Warnung zur bevorstehenden Entfernung aus. |
Bei den booleschen Schaltern (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 Beachtung der Groß- und Kleinschreibung). Jeder andere Wert gilt als False.
Bildvorhersagen protokollieren#
Du kannst steuern, wie viele Bildvorhersagen Comet während deiner Experimente protokolliert. Standardmäßig protokolliert Comet 100 Bildvorhersagen aus dem Validierungssatz. Du kannst diese Anzahl jedoch an deine Anforderungen anpassen. Verwende zum Beispiel den folgenden Code, um 200 Bildvorhersagen zu protokollieren:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Um die Protokollierung von Bildvorhersagen vollständig zu deaktivieren (zum Beispiel, um die Uploadmenge bei langsamen Verbindungen zu verringern), setze COMET_EVAL_LOG_IMAGE_PREDICTIONS auf "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Protokollierungsintervall für Batches#
Mit Comet kannst du festlegen, wie oft Batches mit Bildvorhersagen protokolliert werden. Die Umgebungsvariable COMET_EVAL_BATCH_LOGGING_INTERVAL steuert dieses Intervall. Standardmäßig ist der Wert 1 festgelegt, sodass Vorhersagen aus jedem Validierungs-Batch protokolliert werden. Du kannst diesen Wert anpassen, um Vorhersagen in einem anderen Intervall zu protokollieren. Bei einem Wert von 4 werden beispielsweise 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 aus deinem Validierungssatz 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 erst nach Abschluss des Trainings protokolliert.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Online- und Offline-Modus#
Standardmäßig läuft Comet im Online-Modus und überträgt Experimentdaten an die Comet-Server. Wenn du ohne Internetzugang trainieren musst, setze COMET_START_ONLINE=0 vor Trainingsbeginn. 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 (Standard) = online, 0 = offlineFrühere Versionen verwendeten zu diesem Zweck COMET_MODE="offline". Aus Gründen der Abwärtskompatibilität wird die Variable weiterhin berücksichtigt, gibt aber eine Warnung zur bevorstehenden Entfernung aus. Verwende künftig COMET_START_ONLINE.
Projektname#
Standardmäßig übergibt der Comet-Callback das YOLO-Trainingsargument project an Comet (oder None, wenn kein Argument festgelegt ist; in diesem Fall verwendet Comet den Standardwert deines Arbeitsbereichs). Mit COMET_PROJECT_NAME kannst du dies überschreiben und alle Experimente unabhängig vom YOLO-Trainingsargument an ein bestimmtes Comet-Arbeitsbereichsprojekt senden:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Name des Modellartefakts#
Mit COMET_MODEL_NAME legst du fest, unter welchem Namen Comet das protokollierte Modellartefakt registriert (standardmäßig Ultralytics). So kannst du Modellvarianten in einem gemeinsam genutzten Arbeitsbereich unterscheiden:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Konfidenzwerte skalieren#
Erkennungskonfidenzwerte werden im Bereich [0, 1] ausgegeben, in der Comet-Benutzeroberfläche standardmäßig jedoch auf einer Prozentskala dargestellt. Vor der Protokollierung multipliziert der Callback jeden Wert mit COMET_MAX_CONFIDENCE_SCORE (Standardwert 100.0). Passe diesen Wert an, wenn du unveränderte Wahrscheinlichkeiten oder eine andere Skala bevorzugst:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # Protokolliere unveränderte Werte im Bereich [0, 1]Zusammenfassung#
Diese Anleitung hat dich durch die Integration von Comet in Ultralytics YOLO26 geführt. Von der Installation bis zur Anpassung hast du erfahren, wie du die Experimentverwaltung optimierst, Einblicke in Echtzeit erhältst und die Protokollierung an die Anforderungen deines Projekts anpasst.
Sieh dir die offizielle YOLOv8-Integrationsdokumentation von Comet an, die auch für YOLO26-Projekte gilt.
Wenn du dich eingehender mit den praktischen Anwendungen von YOLO26 befassen möchtest, insbesondere mit Aufgaben zur Bildsegmentierung, bietet diese ausführliche Anleitung zur Feinabstimmung von YOLO26 mit Comet wertvolle Einblicke und Schritt-für-Schritt-Anweisungen zur Verbesserung der Modellleistung.
Weitere spannende Integrationen mit Ultralytics findest du auf der Seite mit Integrationsanleitungen, die zahlreiche Ressourcen und Informationen bietet.
Häufig gestellte Fragen#
Gehe wie folgt vor, um Comet in Ultralytics YOLO26 zu integrieren:
-
Erforderliche Pakete installieren:
pip install ultralytics comet_ml -
Comet-API-Schlüssel einrichten:
export COMET_API_KEY=YOUR_API_KEY -
In deinem Python-Code bei Comet anmelden:
import comet_ml comet_ml.login() -
Dein YOLO26-Modell trainieren und Messwerte 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 zur Comet-Konfiguration.
-
Durch die Integration von Ultralytics YOLO26 mit Comet kannst du:
- Echtzeit-Einblicke überwachen: Erhalte sofortiges Feedback zu deinen Trainingsergebnissen und nimm so schnell Anpassungen vor.
- Umfangreiche Metriken protokollieren: Erfasse automatisch wichtige Metriken wie mAP, Verlust, Hyperparameter und Modell-Checkpoints.
- Experimente offline verfolgen: Protokolliere deine Trainingsläufe lokal, wenn kein Internetzugang verfügbar ist.
- Verschiedene Trainingsläufe vergleichen: Analysiere und vergleiche mehrere Experimente mit dem interaktiven Comet-Dashboard.
Mit diesen Funktionen kannst du deine Workflows für maschinelles Lernen optimieren und so Leistung und Reproduzierbarkeit verbessern. Weitere Informationen findest du in der Comet-Integrationsanleitung.
Mit Umgebungsvariablen kannst du das Protokollierungsverhalten von Comet umfassend anpassen:
-
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 findest du im Abschnitt Comet-Protokollierung anpassen. Dazu gehören Schalter für Bildvorhersagen, die Skalierung von Konfidenzwerten und der Online-/Offline-Modus.
-
Sobald das Training deines YOLO26-Modells beginnt, kannst du im Comet-Dashboard auf zahlreiche Metriken und Visualisierungen zugreifen. Zu den wichtigsten Funktionen gehören:
- Experimentbereiche: Zeige verschiedene Durchläufe und ihre Metriken an, darunter den Segmentmaskenverlust, den Klassenverlust und die mittlere durchschnittliche Präzision.
- Metriken: Untersuche Metriken in Tabellenform für eine detaillierte Analyse.
- Interaktive Konfusionsmatrix: Bewerte die Klassifizierungsgenauigkeit anhand einer interaktiven Konfusionsmatrix.
- Systemmetriken: Überwache die Auslastung von GPU und CPU, die Speichernutzung und weitere Systemmetriken.
Eine ausführliche Übersicht über diese Funktionen findest du im Abschnitt Die Leistung deines Modells mit Comet-Visualisierungen verstehen.
Ja. Lege
COMET_START_ONLINE=0fest, bevor das Training beginnt, um Daten lokal zu protokollieren:import os os.environ["COMET_START_ONLINE"] = "0"Experimentdaten werden auf der Festplatte gespeichert und können später mit der CLI
comet uploadzu Comet hochgeladen werden, sobald wieder eine Verbindung besteht. Die ältere VariableCOMET_MODE="offline"funktioniert weiterhin, gibt aber eine Warnung zur veralteten Verwendung aus. Weitere Informationen findest du im Abschnitt Online- und Offline-Modus.