Zum Inhalt springen

Elevating YOLOv8 Training: Vereinfache deinen Logging-Prozess mit Comet ML

Die Aufzeichnung wichtiger Trainingsdetails wie Parameter, Metriken, Bildvorhersagen und Modellpr√ľfpunkte ist beim maschinellen Lernen unerl√§sslich - so bleibt dein Projekt transparent, dein Fortschritt messbar und deine Ergebnisse wiederholbar.

Ultralytics YOLOv8 l√§sst sich nahtlos in Comet ML integrieren, um jeden Aspekt des Trainingsprozesses deines YOLOv8 Objekterkennungsmodells effizient zu erfassen und zu optimieren. In diesem Leitfaden gehen wir auf den Installationsprozess, die Comet ML-Einrichtung, die Echtzeit-Einsichten, die benutzerdefinierte Protokollierung und die Offline-Nutzung ein, um sicherzustellen, dass dein YOLOv8 Training gr√ľndlich dokumentiert und f√ľr hervorragende Ergebnisse optimiert ist.

Comet ML

Comet ML √úberblick

Comet ML ist eine Plattform zum Verfolgen, Vergleichen, Erkl√§ren und Optimieren von Machine-Learning-Modellen und Experimenten. Mit ML kannst du Metriken, Parameter, Medien und mehr w√§hrend des Modelltrainings protokollieren und deine Experimente √ľber eine √§sthetisch ansprechende Weboberfl√§che √ľberwachen. Comet ML hilft Datenwissenschaftlern, schneller zu iterieren, erh√∂ht die Transparenz und Reproduzierbarkeit und hilft bei der Entwicklung von Produktionsmodellen.

Die Macht von YOLOv8 und Comet nutzen ML

Wenn du Ultralytics YOLOv8 mit Comet ML kombinierst, erschlie√üt du dir eine Reihe von Vorteilen. Dazu geh√∂ren eine vereinfachte Versuchsverwaltung, Echtzeit-Einsichten f√ľr schnelle Anpassungen, flexible und ma√ügeschneiderte Protokollierungsoptionen und die M√∂glichkeit, Versuche offline zu protokollieren, wenn der Internetzugang eingeschr√§nkt ist. Diese Integration erm√∂glicht es dir, datengest√ľtzte Entscheidungen zu treffen, Leistungskennzahlen zu analysieren und au√üergew√∂hnliche Ergebnisse zu erzielen.

Installation

Um die ben√∂tigten Pakete zu installieren, f√ľhre sie aus:

Installation

# Install the required packages for YOLOv8 and Comet ML
pip install ultralytics comet_ml torch torchvision

Comet ML konfigurieren

Nachdem du die erforderlichen Pakete installiert hast, musst du dich anmelden, einen Comet API-Schl√ľssel erhalten und ihn konfigurieren.

Comet ML konfigurieren

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

Dann kannst du dein Comet Projekt initialisieren. Comet wird den API-Schl√ľssel automatisch erkennen und mit der Einrichtung fortfahren.

import comet_ml

comet_ml.init(project_name="comet-example-yolov8-coco128")

Wenn du ein Google Colab-Notebook verwendest, wird der obige Code dich auffordern, deinen API-Schl√ľssel f√ľr die Initialisierung einzugeben.

Verwendung

Bevor du dich in die Gebrauchsanweisung vertiefst, solltest du dir die verschiedenen Modelle vonYOLOv8 ansehen, die von Ultralytics angeboten werden. Das wird dir helfen, das am besten geeignete Modell f√ľr deine Projektanforderungen auszuw√§hlen.

Verwendung

from ultralytics import YOLO

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

# train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolov8-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

Nachdem du den Trainingscode ausgef√ľhrt hast, erstellt Comet ML ein Experiment in deinem Comet Arbeitsbereich, um den Lauf automatisch zu verfolgen. Du bekommst dann einen Link, √ľber den du die detaillierte Protokollierung des Trainingsprozesses deines YOLOv8 Modells einsehen kannst.

Comet protokolliert automatisch und ohne zus√§tzliche Konfiguration die folgenden Daten: Metriken wie mAP und Verlust, Hyperparameter, Modellpr√ľfpunkte, interaktive Konfusionsmatrix und Vorhersagen f√ľr Bildbegrenzungsrahmen.

Verstehe die Leistung deines Modells mit Comet ML Visualisierungen

Lassen Sie uns in das eintauchen, was Sie auf der Comet ML-Dashboard, sobald Ihr YOLOv8 Modell beginnt mit dem Training. Das Dashboard ist der Ort, an dem die gesamte Aktion stattfindet, und präsentiert eine Reihe von automatisch protokollierten Informationen durch Visualisierungen und Statistiken. Hier ist ein kurzer Überblick:

Experimentierplatten

In den Experimentierfeldern des Comet ML-Dashboards werden die verschiedenen Läufe und ihre Metriken wie Segmentmaskenverlust, Klassenverlust, Genauigkeit und durchschnittliche Genauigkeit dargestellt.

Comet ML √úberblick

Metriken

Im Abschnitt "Metriken" hast du die Möglichkeit, die Metriken auch in einem Tabellenformat zu betrachten, das wie hier abgebildet in einem eigenen Bereich angezeigt wird.

Comet ML √úberblick

Interaktive Verwirrungsmatrix

Die Konfusionsmatrix, die du auf der Registerkarte Konfusionsmatrix findest, bietet eine interaktive Möglichkeit, die Klassifizierungsgenauigkeit des Modells zu bewerten. Sie zeigt die richtigen und falschen Vorhersagen auf und ermöglicht es dir, die Stärken und Schwächen des Modells zu verstehen.

Comet ML √úberblick

System Metriken

Comet ML protokolliert Systemmetriken, um Engp√§sse im Trainingsprozess zu erkennen. Dazu geh√∂ren Metriken wie GPU Auslastung, GPU Speichernutzung, CPU Auslastung und RAM-Nutzung. Sie sind wichtig, um die Effizienz der Ressourcennutzung w√§hrend des Modelltrainings zu √ľberwachen.

Comet ML √úberblick

Anpassen von Comet ML Logging

Comet ML bietet die M√∂glichkeit, sein Protokollierungsverhalten durch das Setzen von Umgebungsvariablen anzupassen. Diese Konfigurationen erm√∂glichen es dir, Comet ML an deine speziellen Bed√ľrfnisse und Vorlieben anzupassen. Hier sind einige hilfreiche Anpassungsoptionen:

Bildvorhersagen protokollieren

Du kannst die Anzahl der Bildvorhersagen festlegen, die Comet ML während deiner Experimente protokolliert. In der Standardeinstellung protokolliert Comet ML 100 Bildvorhersagen aus dem Validierungsset. Du kannst diese Zahl jedoch ändern, um sie besser an deine Anforderungen anzupassen. Um zum Beispiel 200 Bildvorhersagen zu protokollieren, verwende den folgenden Code:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

Batch Logging Intervall

Comet Mit ML kannst du festlegen, wie oft Stapel von Bildvorhersagen protokolliert werden. Die COMET_EVAL_BATCH_LOGGING_INTERVAL Umgebungsvariable steuert diese H√§ufigkeit. Die Standardeinstellung ist 1, d.h. die Vorhersagen werden f√ľr jeden Validierungsstapel protokolliert. Du kannst diesen Wert anpassen, um Vorhersagen in einem anderen Intervall zu protokollieren. Wenn du zum Beispiel 4 einstellst, werden die Vorhersagen von jedem vierten Batch protokolliert.

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

Deaktivieren des Confusion Matrix Logging

In manchen Fällen möchtest du vielleicht nicht nach jeder Epoche die Konfusionsmatrix deines Validierungssatzes protokollieren. Du kannst diese Funktion deaktivieren, indem du die COMET_EVAL_LOG_CONFUSION_MATRIX Umgebungsvariable auf "false" setzen. Die Verwirrungsmatrix wird nur einmal aufgezeichnet, nachdem das Training abgeschlossen ist.

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

Offline Logging

Wenn du dich in einer Situation befindest, in der der Internetzugang eingeschr√§nkt ist, bietet Comet ML eine Offline-Logging-Option. Du kannst die COMET_MODE Umgebungsvariable auf "offline", um diese Funktion zu aktivieren. Deine Experimentdaten werden lokal in einem Verzeichnis gespeichert, das du sp√§ter auf Comet ML hochladen kannst, wenn eine Internetverbindung verf√ľgbar ist.

import os

os.environ["COMET_MODE"] = "offline"

Zusammenfassung

Dieser Leitfaden hat dich durch die Integration von Comet ML mit Ultralytics' YOLOv8 gef√ľhrt. Von der Installation bis zur Anpassung hast du gelernt, wie du die Verwaltung von Experimenten rationalisieren, Einblicke in Echtzeit gewinnen und die Protokollierung an die Anforderungen deines Projekts anpassen kannst.

In der offiziellen Dokumentation vonComet ML findest du weitere Informationen zur Integration mit YOLOv8.

Wenn du au√üerdem tiefer in die praktischen Anwendungen von YOLOv8 eintauchen m√∂chtest, speziell f√ľr Bildsegmentierungsaufgaben, bietet dir dieser detaillierte Leitfaden zur Feinabstimmung von YOLOv8 mit Comet ML wertvolle Einblicke und Schritt-f√ľr-Schritt-Anleitungen, um die Leistung deines Modells zu verbessern.

Um weitere spannende Integrationen mit Ultralytics zu entdecken, schau dir den Integrationsleitfaden an, der eine F√ľlle von Ressourcen und Informationen bietet.

FAQ

Wie integriere ich Comet ML mit Ultralytics YOLOv8 f√ľr das Training?

Um Comet ML mit Ultralytics YOLOv8 zu integrieren, befolge diese Schritte:

  1. Installiere die benötigten Pakete:

    pip install ultralytics comet_ml torch torchvision
    
  2. Richte deinen Comet API-Schl√ľssel ein:

    export COMET_API_KEY=<Your API Key>
    
  3. Initialisiere dein Comet Projekt in deinem Python Code:

    import comet_ml
    
    comet_ml.init(project_name="comet-example-yolov8-coco128")
    
  4. Trainiere dein YOLOv8 Modell und protokolliere Metriken:

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    results = model.train(
        data="coco8.yaml", project="comet-example-yolov8-coco128", batch=32, save_period=1, save_json=True, epochs=3
    )
    

Ausf√ľhrlichere Anweisungen findest du im AbschnittComet ML Konfiguration.

Was sind die Vorteile von Comet ML mit YOLOv8?

Durch die Integration von Ultralytics YOLOv8 mit Comet ML kannst du:

  • Beobachte Einblicke in Echtzeit: Du erh√§ltst sofortiges Feedback zu deinen Trainingsergebnissen und kannst so schnell Anpassungen vornehmen.
  • Protokolliere umfangreiche Metriken: Erfasse automatisch wichtige Metriken wie mAP, Verlust, Hyperparameter und Modellpr√ľfpunkte.
  • Verfolge Experimente offline: Protokolliere deine Trainingsl√§ufe lokal, wenn kein Internetzugang verf√ľgbar ist.
  • Vergleiche verschiedene Trainingsl√§ufe: Nutze das interaktive Comet ML Dashboard, um mehrere Experimente zu analysieren und zu vergleichen.

Wenn du diese Funktionen nutzt, kannst du deine Workflows f√ľr maschinelles Lernen optimieren und eine bessere Leistung und Reproduzierbarkeit erzielen. Weitere Informationen findest du im Comet ML-Integrationsleitfaden.

Wie kann ich das Protokollierungsverhalten von Comet ML während des YOLOv8 Trainings anpassen?

Comet ML ermöglicht eine umfassende Anpassung des Logging-Verhaltens mithilfe von Umgebungsvariablen:

  • √Ąndere die Anzahl der protokollierten Bildvorhersagen:

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    
  • Passe das Intervall f√ľr die Chargenprotokollierung an:

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    
  • Deaktiviere die Protokollierung der Konfusionsmatrix:

    import os
    
    os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    

Weitere Anpassungsmöglichkeiten findest du im Abschnitt Comet ML Logging anpassen.

Wie kann ich detaillierte Metriken und Visualisierungen meines YOLOv8 Trainings auf Comet ML einsehen?

Sobald dein YOLOv8 Modell mit dem Training begonnen hat, kannst du √ľber das Comet ML-Dashboard auf eine Vielzahl von Metriken und Visualisierungen zugreifen. Zu den wichtigsten Funktionen geh√∂ren:

  • Experiment-Panels: Sieh dir die verschiedenen Durchl√§ufe und ihre Metriken an, einschlie√ülich Segmentmaskenverlust, Klassenverlust und durchschnittliche Genauigkeit.
  • Metriken: Untersuche die Kennzahlen in Tabellenform f√ľr eine detaillierte Analyse.
  • Interaktive Konfusionsmatrix: Beurteile die Klassifizierungsgenauigkeit mit einer interaktiven Konfusionsmatrix.
  • System Metrics: Monitor GPU and CPU utilization, memory usage, and other system metrics.

Einen detaillierten √úberblick √ľber diese Funktionen findest du im Abschnitt Die Leistung deines Modells mit Comet ML Visualisierungen verstehen.

Kann ich Comet ML f√ľr die Offline-Protokollierung beim Training von YOLOv8 Modellen verwenden?

Ja, du kannst das Offline-Logging in Comet ML aktivieren, indem du die COMET_MODE Umgebungsvariable auf "offline" setzen:

import os

os.environ["COMET_MODE"] = "offline"

Mit dieser Funktion kannst du deine Experimentdaten lokal aufzeichnen und sie sp√§ter auf Comet ML hochladen, sobald eine Internetverbindung verf√ľgbar ist. Das ist besonders n√ľtzlich, wenn du in Umgebungen mit begrenztem Internetzugang arbeitest. Weitere Informationen findest du im Abschnitt Offline-Logging.



Erstellt 2023-11-16, Aktualisiert 2024-07-05
Autoren: glenn-jocher (10), AyushExel (1), abirami-vina (1)

Kommentare