Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Integrationen

So verwendest du Ultralytics YOLOv5 mit Comet

Erfahre, wie Ultralytics mit Comet zusammenarbeitet, um Ultralytics YOLOv5-Modelle zu optimieren: mit Tracking in Echtzeit, effizienter Zusammenarbeit und besserer Reproduzierbarkeit.

Nuvola LadiNuvola Ladi5 Min. Lesezeit
Ultralytics YOLOv5-Training mit Comet verfolgen

Bei Ultralytics arbeiten wir kommerziell mit anderen Start-ups zusammen, um die Forschung und Entwicklung unserer quelloffenen Werkzeuge wie YOLOv5 zu finanzieren und sie für alle kostenlos zu halten. Dieser Artikel kann Affiliate-Links zu diesen Partnern enthalten.

Unser neuester Partner Comet entwickelt Tools, mit denen Datenwissenschaftler, Ingenieure und Teamleiter das maschinelle Lernen und Deep-Learning-Modelle schneller entwickeln und optimieren können.

Comet ist ein leistungsstarkes Tool, mit dem du deine Modelle, Datensätze und Metriken nachverfolgen kannst. Außerdem protokolliert es deine System- und Umgebungsvariablen, um die Reproduzierbarkeit und eine reibungslose Fehlersuche bei jedem einzelnen Lauf sicherzustellen. Verfolge und visualisiere Modellmetriken in Echtzeit, speichere deine Hyperparameter, Datensätze und Modellprüfpunkte und visualisiere deine Modellvorhersagen mit Comet Custom Panels!

Außerdem sorgt Comet dafür, dass du nie den Überblick über deine Arbeit verlierst, und erleichtert das Teilen von Ergebnissen und die Zusammenarbeit in Teams jeder Größe!

YOLOv5 ist ein guter Einstieg in die Computer Vision. Um die Leistung deines Modells zu verbessern und es für den Produktiveinsatz vorzubereiten, musst du die Ergebnisse in einem Tool zur Experimentverfolgung wie Comet protokollieren.

Die Integration von Comet und YOLOv5 bietet 3 Hauptfunktionen:

  • Automatische und benutzerdefinierte Protokollierung
  • Datensätze und Modelle als Artefakte speichern, um die Fehlersuche und Reproduzierbarkeit zu unterstützen
  • Ansicht mit benutzerdefinierten Comet-Panels organisieren

Diese Anleitung erläutert, wie du YOLOv5 mit Comet verwendest.

Bist du bereit, deine Experimente in Echtzeit zu verfolgen? Dann legen wir los!

Erste Schritte#

1. Comet installieren#

pip install comet_ml

2. Comet-Zugangsdaten konfigurieren#

Es gibt zwei Möglichkeiten, Comet mit YOLOv5 zu konfigurieren.

Du kannst deine Zugangsdaten entweder über Umgebungsvariablen festlegen oder eine Datei namens .comet.config in deinem Arbeitsverzeichnis erstellen und die Zugangsdaten dort hinterlegen.

Umgebungsvariablen#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Comet-Konfigurationsdatei#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. Trainingsskript ausführen#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

Das war's!

Comet protokolliert automatisch deine Hyperparameter, Befehlszeilenargumente sowie Trainings- und Validierungsmetriken. In der Comet-Benutzeroberfläche kannst du deine Durchläufe visualisieren und analysieren.

Experimente mit YOLOv5 im Comet-Dashboard

Probiere es selbst aus!#

Sieh dir ein Beispiel für einen abgeschlossenen Lauf an.

Noch besser: Probiere es selbst im YOLOv5-Colab-Notebook aus.

Automatisch protokollieren#

Standardmäßig protokolliert Comet die folgenden Elemente:

Metriken#

  • Box-Verlust, Objektverlust und Klassifikationsverlust für Trainings- und Validierungsdaten
  • Metriken mAP50 und mAP50-95 für die Validierungsdaten
  • Präzision und Recall für die Validierungsdaten

Parameter#

  • Modell-Hyperparameter
  • Alle über die Befehlszeilenoptionen übergebenen Parameter

Visualisierungen#

  • Konfusionsmatrix der Modellvorhersagen für die Validierungsdaten
  • Diagramme der PR- und F1-Kurven für alle Klassen
  • Korrelationsdiagramm der Klassenbezeichnungen

Comet-Protokollierung konfigurieren#

Comet kann so konfiguriert werden, dass über Befehlszeilenoptionen für das Trainingsskript oder über Umgebungsvariablen zusätzliche Daten protokolliert werden.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Prüfpunkte mit Comet protokollieren#

Die Protokollierung von Modellen in Comet ist standardmäßig deaktiviert. Um sie zu aktivieren, übergib dem Trainingsskript das Argument save-period. Dadurch werden die protokollierten Prüfpunkte entsprechend dem mit save-period festgelegten Intervall in Comet gespeichert.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Modellvorhersagen protokollieren#

Standardmäßig werden Modellvorhersagen (Bilder, Grundwahrheitslabels und Begrenzungsrahmen) in Comet protokolliert. Du kannst die Häufigkeit der protokollierten Vorhersagen und der zugehörigen Bilder mit dem Befehlszeilenargument bbox_interval steuern. Vorhersagen lassen sich mit dem Object Detection Custom Panel von Comet visualisieren. Die Häufigkeit gibt an, nach wie vielen Datenbatches protokolliert wird. Im folgenden Beispiel wird bei jeder Epoche jeder zweite Datenbatch protokolliert.

Hinweis: Der Validierungsdatenlader von YOLOv5 verwendet standardmäßig eine Batchgröße von 32. Lege daher die Protokollierungshäufigkeit entsprechend fest.

Hier findest du ein Beispielprojekt, das das Panel verwendet.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Anzahl der in Comet protokollierten Vorhersagebilder festlegen#

Beim Protokollieren von Vorhersagen aus YOLOv5 erfasst Comet die Bilder, die zu den einzelnen Vorhersagesätzen gehören. Standardmäßig werden höchstens 100 Validierungsbilder protokolliert. Mit der Umgebungsvariable COMET_MAX_IMAGE_UPLOADS kannst du diese Anzahl erhöhen oder verringern.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Metriken für einzelne Klassen protokollieren#

Verwende die Umgebungsvariable COMET_LOG_PER_CLASS_METRICS, um mAP, Präzision, Trefferquote und F1 für jede Klasse zu protokollieren.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Datensatz in Comet Artifacts hochladen#

Wenn du deine Daten mit Comet Artifacts speichern möchtest, kannst du dafür das Flag upload_dataset verwenden.

Der Datensatz ist wie in der YOLOv5-Dokumentation beschrieben organisiert. Die YAML-Datei zur Datensatzkonfiguration muss dasselbe Format wie die Datei coco128.yaml haben.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Den hochgeladenen Datensatz findest du im Tab „Artifacts“ in deinem Comet Workspace.

Comet-Tab „Artifacts“, YOLOv5

Du kannst dir die Daten direkt in der Comet-Benutzeroberfläche ansehen.

Daten in Comet anzeigen, YOLOv5

Artefakte sind versioniert und unterstützen außerdem das Hinzufügen von Metadaten zum Datensatz. Comet protokolliert die Metadaten aus deiner Datensatz-YAML-Datei automatisch.

Metadaten aus YAML-Datei in Comet protokollieren, YOLOv5

Ein gespeichertes Artifact verwenden#

Wenn du einen Datensatz aus Comet Artifacts verwenden möchtest, setze die Pfadvariable in deiner Datensatz-YAML-Datei auf die folgende URL der Artefaktressource.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Übergib diese Datei dann auf folgende Weise an dein Trainingsskript:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Mit Artefakten kannst du auch die Herkunft der Daten nachverfolgen, während sie deinen Experimentierablauf durchlaufen. Hier siehst du ein Diagramm mit allen Experimenten, bei denen dein hochgeladener Datensatz verwendet wurde.

Comet-Experimentierablauf, YOLOv5

Einen Trainingslauf fortsetzen#

Wenn dein Trainingslauf aus irgendeinem Grund unterbrochen wird, zum Beispiel durch eine gestörte Internetverbindung, kannst du den Lauf mithilfe des Flags resume und des Comet Run Path fortsetzen.

Der Run Path hat das folgende Format: comet://<your workspace name>/<your project name>/<experiment id>.

Dadurch wird der Lauf in den Zustand vor der Unterbrechung zurückversetzt. Dazu gehören das Wiederherstellen des Modells aus einem Checkpoint, sämtlicher Hyperparameter und Trainingsargumente sowie das Herunterladen von Comet-Dataset-Artifacts, falls sie im ursprünglichen Lauf verwendet wurden. Der fortgesetzte Lauf protokolliert seine Daten weiterhin im bestehenden Experiment in der Comet-Benutzeroberfläche.

python train.py \
  --resume "comet://<your run path>"

Hyperparametersuche mit dem Comet Optimizer#

YOLOv5 ist auch in den Comet Optimizer integriert, sodass du Hyperparameter-Sweeps ganz einfach in der Comet-Benutzeroberfläche visualisieren kannst.

Einen Optimizer-Sweep konfigurieren#

Um den Comet Optimizer zu konfigurieren, musst du eine JSON-Datei mit den Informationen zum Sweep erstellen.

Eine Beispieldatei findest du unter utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

Das Skript hpo.py akzeptiert dieselben Argumente wie train.py. Wenn du deiner Parameterstudie zusätzliche Argumente übergeben möchtest, füge sie einfach hinter dem Skript hinzu.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Einen Sweep parallel ausführen#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

Comet bietet viele Möglichkeiten, die Ergebnisse deiner Parameterstudie zu visualisieren. Sieh dir ein Projekt mit einer abgeschlossenen Parameterstudie an:

Sweep-Ergebnisse in Comet visualisieren, YOLOv5

Bleib in Kontakt#

Nutze unsere Integration mit Comet, um deine YOLOv5-Modelle zu verwalten, zu visualisieren und zu optimieren – von Trainingsläufen bis zur Überwachung im Produktivbetrieb.

Und natürlich kannst du der Ultralytics Community beitreten – dort kannst du Fragen stellen und Tipps zu Training, Validierung und Bereitstellung von YOLOv5 austauschen.

Verfasst von

Nuvola Ladi
Nuvola Ladi

Digital Content Managerin · Ultralytics

Nuvola Ladi ist Digital Content Managerin bei Ultralytics. Dort erstellt sie Inhalte zu Vision AI und Ultralytics YOLO und vertritt das Unternehmen bei Branchenveranstaltungen wie der PyTorch Conference 2025. Sie lebt in Spanien und hat einen Masterabschluss in visuellen und digitalen Medien von der IE University. Vor ihrem Einstieg bei Ultralytics war sie unter anderem bei der XVA Gallery & Hotel und Rolex tätig.

Kommentare

Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens