Zum Inhalt springen

Elevating YOLO11 Training: Simplify Your Logging Process with Comet ML

Logging key training details such as parameters, metrics, image predictions, and model checkpoints is essential in machine learning—it keeps your project transparent, your progress measurable, and your results repeatable.

Ultralytics YOLO11 seamlessly integrates with Comet ML, efficiently capturing and optimizing every aspect of your YOLO11 object detection model's training process. In this guide, we'll cover the installation process, Comet ML setup, real-time insights, custom logging, and offline usage, ensuring that your YOLO11 training is thoroughly documented and fine-tuned for outstanding results.

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.

Harnessing the Power of YOLO11 and Comet ML

By combining Ultralytics YOLO11 with Comet ML, you unlock a range of benefits. These include simplified experiment management, real-time insights for quick adjustments, flexible and tailored logging options, and the ability to log experiments offline when internet access is limited. This integration empowers you to make data-driven decisions, analyze performance metrics, and achieve exceptional results.

Installation

Um die benötigten Pakete zu installieren, führe sie aus:

Installation

# Install the required packages for YOLO11 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.

Initialize Comet project

import comet_ml

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

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

Verwendung

Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.

Verwendung

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,
)

After running the training code, Comet ML will create an experiment in your Comet workspace to track the run automatically. You will then be provided with a link to view the detailed logging of your YOLO11 model's training process.

Comet automatically logs the following data with no additional configuration: metrics such as mAP and loss, hyperparameters, model checkpoints, interactive confusion matrix, and image bounding box predictions.

Verstehe die Leistung deines Modells mit Comet ML Visualisierungen

Let's dive into what you'll see on the Comet ML dashboard once your YOLO11 model begins training. The dashboard is where all the action happens, presenting a range of automatically logged information through visuals and statistics. Here's a quick tour:

Experimentierplatten

The experiment panels section of the Comet ML dashboard organize and present the different runs and their metrics, such as segment mask loss, class loss, precision, and mean average precision.

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

Interactive Confusion Matrix

The confusion matrix, found in the Confusion Matrix tab, provides an interactive way to assess the model's classification accuracy. It details the correct and incorrect predictions, allowing you to understand the model's strengths and weaknesses.

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 some cases, you may not want to log the confusion matrix from your validation set after every epoch. You can disable this feature by setting the 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

This guide has walked you through integrating Comet ML with Ultralytics' YOLO11. From installation to customization, you've learned to streamline experiment management, gain real-time insights, and adapt logging to your project's needs.

Explore Comet ML's official documentation for more insights on integrating with YOLO11.

Furthermore, if you're looking to dive deeper into the practical applications of YOLO11, specifically for image segmentation tasks, this detailed guide on fine-tuning YOLO11 with Comet ML offers valuable insights and step-by-step instructions to enhance your model's performance.

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

FAQ

How do I integrate Comet ML with Ultralytics YOLO11 for training?

To integrate Comet ML with Ultralytics YOLO11, follow these steps:

  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.login(project_name="comet-example-yolo11-coco128")
    
  4. Train your YOLO11 model and log metrics:

    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,
    )
    

Ausführlichere Anweisungen findest du im AbschnittComet ML Konfiguration.

What are the benefits of using Comet ML with YOLO11?

By integrating Ultralytics YOLO11 with Comet ML, you can:

  • 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.

How do I customize the logging behavior of Comet ML during YOLO11 training?

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.

How do I view detailed metrics and visualizations of my YOLO11 training on Comet ML?

Once your YOLO11 model starts training, you can access a wide range of metrics and visualizations on the Comet ML dashboard. Key features include:

  • Experiment Panels: View different runs and their metrics, including segment mask loss, class loss, and mean average precision.
  • Metriken: Untersuche die Kennzahlen in Tabellenform für eine detaillierte Analyse.
  • Interaktive Konfusionsmatrix: Beurteile die Klassifizierungsgenauigkeit mit einer interaktiven Konfusionsmatrix.
  • Systemmetriken: Überwache GPU und CPU die Auslastung, den Speicherverbrauch und andere Systemmetriken.

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

Can I use Comet ML for offline logging when training YOLO11 models?

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.

📅 Created 11 months ago ✏️ Updated 8 days ago

Kommentare