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 fein abgestimmt 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, wirst du im obigen Code aufgefordert, 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="coco128.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

Schauen wir uns an, was du auf dem Comet ML Dashboard siehst, sobald dein YOLOv8 Modell mit dem Training beginnt. Das Dashboard ist der Ort, an dem sich alles abspielt. Es zeigt eine Reihe von automatisch erfassten Informationen in Form von Grafiken und Statistiken. Hier ist ein kurzer Rundgang:

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 die GPU-Auslastung, die GPU-Speichernutzung, die CPU-Auslastung und die 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 BedĂŒrfnisse 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 die Seite mit den IntegrationsleitfĂ€den an, die eine FĂŒlle von Ressourcen und Informationen bietet.



Erstellt 2023-11-16, Aktualisiert 2024-01-14
Autoren: glenn-jocher (5), AyushExel (1), abirami-vina (1)

Kommentare