Zum Inhalt springen

Optimierung des YOLO11-Trainings: Vereinfachen Sie Ihren Protokollierungsprozess mit Comet ML

Das Protokollieren wichtiger Trainingsdetails wie Parameter, Metriken, Bildvorhersagen und Modell-Checkpoints ist im maschinellen Lernen unerlässlich – es hält Ihr Projekt transparent, Ihren Fortschritt messbar und Ihre Ergebnisse wiederholbar.



Ansehen: So verwenden Sie Comet ML für Ultralytics YOLO Modell Trainingsprotokolle und Metriken 🚀

Ultralytics YOLO11 lässt sich nahtlos in Comet ML integrieren und erfasst und optimiert effizient jeden Aspekt des Trainingsprozesses Ihres YOLO11 Objekterkennungsmodells. In diesem Leitfaden behandeln wir den Installationsprozess, die Comet ML-Einrichtung, Echtzeit-Einblicke, benutzerdefinierte Protokollierung und Offline-Nutzung, um sicherzustellen, dass Ihr YOLO11-Training gründlich dokumentiert und für herausragende Ergebnisse optimiert wird.

Comet ML

Comet ML Überblick

Comet ML ist eine Plattform zum Verfolgen, Vergleichen, Erklären und Optimieren von Machine-Learning-Modellen und -Experimenten. Sie ermöglicht es Ihnen, Metriken, Parameter, Medien und mehr während Ihres Modelltrainings zu protokollieren und Ihre Experimente über eine ästhetisch ansprechende Weboberfläche zu überwachen. Comet ML hilft Data Scientists, schneller zu iterieren, verbessert die Transparenz und Reproduzierbarkeit und unterstützt die Entwicklung von Produktionsmodellen.

Die Leistungsfähigkeit von YOLO11 und Comet ML nutzen

Durch die Kombination von Ultralytics YOLO11 mit Comet ML erschließen Sie eine Reihe von Vorteilen. Dazu gehören vereinfachtes Experimentmanagement, Echtzeit-Einblicke für schnelle Anpassungen, flexible und maßgeschneiderte Protokollierungsoptionen sowie die Möglichkeit, Experimente offline zu protokollieren, wenn der Internetzugang eingeschränkt ist. Diese Integration ermöglicht es Ihnen, datengesteuerte Entscheidungen zu treffen, Leistungskennzahlen zu analysieren und außergewöhnliche Ergebnisse zu erzielen.

Installation

Um die erforderlichen Pakete zu installieren, führen Sie Folgendes aus:

Installation

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

Konfiguration von Comet ML

Nach der Installation der erforderlichen Pakete müssen Sie sich anmelden, einen Comet API Key besorgen und ihn konfigurieren.

Konfiguration von Comet ML

# Set your Comet Api Key
export COMET_API_KEY=YOUR_API_KEY

Anschließend können Sie Ihr Comet-Projekt initialisieren. Comet erkennt automatisch den API-Schlüssel und fährt mit der Einrichtung fort.

Comet-Projekt initialisieren

import comet_ml

comet_ml.login(project_name="comet-example-yolo11-coco128")

Wenn du ein Google Colab-Notebook verwendest, wirst du durch den obigen Code aufgefordert, deinen API-Schlüssel zur Initialisierung einzugeben.

Nutzung

Bevor Sie sich mit den Anwendungsanweisungen befassen, sollten Sie sich das Angebot an YOLO11-Modellen von Ultralytics ansehen. Dies wird Ihnen helfen, das am besten geeignete Modell für Ihre Projektanforderungen auszuwählen.

Nutzung

from ultralytics import YOLO

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

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

Nach dem Ausführen des Trainingscodes erstellt Comet ML ein Experiment in Ihrem Comet-Workspace, um den Lauf automatisch zu verfolgen. Anschließend erhalten Sie einen Link, um die detaillierte Protokollierung des Trainingsprozesses Ihres YOLO11-Modells anzuzeigen.

Comet protokolliert automatisch die folgenden Daten ohne zusätzliche Konfiguration: Metriken wie mAP und Verlust, Hyperparameter, Modell-Checkpoints, interaktive Konfusionsmatrix und Bounding-Box-Vorhersagen für Bilder.

Die Leistung Ihres Modells mit Comet ML-Visualisierungen verstehen

Sehen wir uns an, was Sie auf dem Comet ML-Dashboard sehen, sobald Ihr YOLO11-Modell mit dem Training beginnt. Das Dashboard ist der Ort, an dem die ganze Action stattfindet und eine Reihe von automatisch protokollierten Informationen durch Visualisierungen und Statistiken präsentiert werden. Hier ist eine kurze Tour:

Experimentierfelder

Der Abschnitt mit den Experimentfeldern des Comet ML-Dashboards organisiert und präsentiert die verschiedenen Durchläufe und ihre Metriken, wie z. B. Segmentmaskenverlust, Klassenverlust, Präzision und mittlere durchschnittliche Präzision.

Comet ML Überblick

Metriken

Im Metrikbereich haben Sie die Möglichkeit, die Metriken auch in tabellarischer Form zu untersuchen, die in einem speziellen Bereich angezeigt wird, wie hier dargestellt.

Comet ML Überblick

Interaktive Konfusionsmatrix

Die Konfusionsmatrix, die sich im Tab "Konfusionsmatrix" befindet, bietet eine interaktive Möglichkeit, die Klassifikations-Genauigkeit des Modells zu beurteilen. Sie listet die korrekten und inkorrekten Vorhersagen auf, sodass Sie die Stärken und Schwächen des Modells verstehen können.

Comet ML Überblick

Systemmetriken

Comet ML protokolliert Systemmetriken, um Engpässe im Trainingsprozess zu identifizieren. Es enthält Metriken wie GPU-Auslastung, GPU-Speicherverbrauch, CPU-Auslastung und RAM-Auslastung. Diese sind für die Überwachung der Effizienz der Ressourcennutzung während des Modelltrainings unerlässlich.

Comet ML Überblick

Anpassen der Comet ML-Protokollierung

Comet ML bietet die Flexibilität, sein Protokollierungsverhalten durch das Setzen von Umgebungsvariablen anzupassen. Diese Konfigurationen ermöglichen es Ihnen, Comet ML an Ihre spezifischen Bedürfnisse und Vorlieben anzupassen. Hier sind einige hilfreiche Anpassungsoptionen:

Protokollierung von Bildvorhersagen

Sie können die Anzahl der Bildvorhersagen steuern, die Comet ML während Ihrer Experimente protokolliert. Standardmäßig protokolliert Comet ML 100 Bildvorhersagen aus dem Validierungsdatensatz. Sie können diese Zahl jedoch ändern, um sie besser an Ihre Anforderungen anzupassen. Um beispielsweise 200 Bildvorhersagen zu protokollieren, verwenden Sie den folgenden Code:

import os

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

Batch-Protokollierungsintervall

Comet ML ermöglicht es Ihnen, festzulegen, wie oft Batches von Bildvorhersagen protokolliert werden. Die COMET_EVAL_BATCH_LOGGING_INTERVAL Umgebungsvariable steuert diese Häufigkeit. Die Standardeinstellung ist 1, wodurch Vorhersagen aus jedem Validierungs-Batch protokolliert werden. Sie können diesen Wert anpassen, um Vorhersagen in einem anderen Intervall zu protokollieren. Wenn Sie ihn beispielsweise auf 4 setzen, werden Vorhersagen aus jedem vierten Batch protokolliert.

import os

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

Deaktivieren der Protokollierung der Konfusionsmatrix

In einigen Fällen möchten Sie die Konfusionsmatrix aus Ihrem Validierungsdatensatz möglicherweise nicht nach jedem Epoche. Sie können diese Funktion deaktivieren, indem Sie den Wert für COMET_EVAL_LOG_CONFUSION_MATRIX Umgebungsvariable auf "false". Die Konfusionsmatrix wird nur einmal protokolliert, nachdem das Training abgeschlossen ist.

import os

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

Offline-Protokollierung

Wenn Sie sich in einer Situation befinden, in der der Internetzugang eingeschränkt ist, bietet Comet ML eine Offline-Protokollierungsoption. Sie können die COMET_MODE Umgebungsvariable auf "offline", um diese Funktion zu aktivieren. Ihre Experimentdaten werden lokal in einem Verzeichnis gespeichert, das Sie später in Comet ML hochladen können, wenn eine Internetverbindung verfügbar ist.

import os

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

Zusammenfassung

Dieser Leitfaden hat Sie durch die Integration von Comet ML mit Ultralytics' YOLO11 geführt. Von der Installation bis zur Anpassung haben Sie gelernt, das Experimentmanagement zu optimieren, Echtzeit-Einblicke zu gewinnen und die Protokollierung an die Bedürfnisse Ihres Projekts anzupassen.

Entdecken Sie die offizielle Dokumentation von Comet ML für weitere Einblicke in die Integration mit YOLO11.

Wenn Sie tiefer in die praktischen Anwendungen von YOLO11 eintauchen möchten, insbesondere für Bildsegmentierungsaufgaben, bietet diese detaillierte Anleitung zur Feinabstimmung von YOLO11 mit Comet ML wertvolle Einblicke und Schritt-für-Schritt-Anleitungen zur Verbesserung der Leistung Ihres Modells.

Um weitere spannende Integrationen mit Ultralytics zu erkunden, besuchen Sie die Seite zum Integrationsleitfaden, die eine Fülle von Ressourcen und Informationen bietet.

FAQ

Wie integriere ich Comet ML mit Ultralytics YOLO11 für das Training?

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

  1. Installieren Sie die erforderlichen Pakete:

    pip install ultralytics comet_ml torch torchvision
    
  2. Richten Sie Ihren Comet-API-Schlüssel ein:

    export COMET_API_KEY=YOUR_API_KEY
    
  3. Initialisieren Sie Ihr Comet-Projekt in Ihrem Python-Code:

    import comet_ml
    
    comet_ml.login(project_name="comet-example-yolo11-coco128")
    
  4. Trainieren Sie Ihr YOLO11-Modell und protokollieren Sie Metriken:

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

Weitere detaillierte Anweisungen finden Sie im Abschnitt zur Comet ML-Konfiguration.

Welche Vorteile bietet die Verwendung von Comet ML mit YOLO11?

Durch die Integration von Ultralytics YOLO11 mit Comet ML können Sie:

  • Echtzeit-Einblicke überwachen: Erhalten Sie sofortiges Feedback zu Ihren Trainingsergebnissen, was schnelle Anpassungen ermöglicht.
  • Umfangreiche Metriken protokollieren: Erfasst automatisch wichtige Metriken wie mAP, Verlust, Hyperparameter und Modell-Checkpoints.
  • Experimente offline verfolgen: Protokollieren Sie Ihre Trainingsläufe lokal, wenn kein Internetzugang verfügbar ist.
  • Verschiedene Trainingsläufe vergleichen: Verwenden Sie das interaktive Comet ML-Dashboard, um mehrere Experimente zu analysieren und zu vergleichen.

Durch die Nutzung dieser Funktionen können Sie Ihre Machine-Learning-Workflows für eine bessere Leistung und Reproduzierbarkeit optimieren. Weitere Informationen finden Sie im Comet ML-Integrationsleitfaden.

Wie passe ich das Logging-Verhalten von Comet ML während des YOLO11-Trainings an?

Comet ML ermöglicht eine umfassende Anpassung seines Protokollierungsverhaltens mithilfe von Umgebungsvariablen:

  • Ändern Sie die Anzahl der protokollierten Bildvorhersagen:

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    
  • Batch-Logging-Intervall anpassen:

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

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

Weitere Anpassungsoptionen finden Sie im Abschnitt Anpassen der Comet ML-Protokollierung.

Wie kann ich detaillierte Metriken und Visualisierungen meines YOLO11-Trainings auf Comet ML anzeigen?

Sobald Ihr YOLO11-Modell mit dem Training beginnt, können Sie auf eine breite Palette von Metriken und Visualisierungen auf dem Comet ML-Dashboard zugreifen. Zu den wichtigsten Funktionen gehören:

  • Experiment-Panels: Zeigen Sie verschiedene Durchläufe und deren Metriken an, einschließlich Segmentmaskenverlust, Klassenverlust und mittlerer durchschnittlicher Präzision.
  • Metriken: Untersuchen Sie Metriken im Tabellenformat für eine detaillierte Analyse.
  • Interaktive Konfusionsmatrix: Bewerten Sie die Klassifikationsgenauigkeit mit einer interaktiven Konfusionsmatrix.
  • Systemmetriken: Überwachen Sie die GPU- und CPU-Auslastung, die Speichernutzung und andere Systemmetriken.

Einen detaillierten Überblick über diese Funktionen finden Sie im Abschnitt Verständnis der Leistung Ihres Modells mit Comet ML Visualisierungen.

Kann ich Comet ML für die Offline-Protokollierung verwenden, wenn ich YOLO11-Modelle trainiere?

Ja, Sie können Offline-Logging in Comet ML aktivieren, indem Sie die COMET_MODE Umgebungsvariable auf "offline":

import os

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

Diese Funktion ermöglicht es Ihnen, Ihre Experimentdaten lokal zu protokollieren, die später zu Comet ML hochgeladen werden können, wenn eine Internetverbindung verfügbar ist. Dies ist besonders nützlich, wenn Sie in Umgebungen mit eingeschränktem Internetzugang arbeiten. Weitere Informationen finden Sie im Abschnitt Offline-Protokollierung.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 17 Tagen

Kommentare