Ultralytics YOLO27:
Integrationen

Ultralytics YOLOv5 mit Comet verwenden

Entdecke, wie Ultralytics mit Comet bei der Optimierung von Ultralytics-YOLOv5-Modellen zusammenarbeitet: Echtzeit-Tracking, optimierte Zusammenarbeit und bessere Reproduzierbarkeit.

NUNuvola Ladi5 min read
Das Training von Ultralytics-YOLOv5-Modellen mit Comet verfolgen

Ultralytics arbeitet kommerziell mit anderen Start-ups zusammen, um die Forschung und Entwicklung unserer großartigen Open-Source-Tools 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, die Datenwissenschaftler, Ingenieure und Teamleiter dabei unterstützen, Machine-Learning- und Deep-Learning-Modelle schneller zu entwickeln und zu optimieren.

Comet ist ein leistungsstarkes Tool zum Nachverfolgen deiner Modelle, Datensätze und Metriken. Außerdem protokolliert es deine System- und Umgebungsvariablen, um die Reproduzierbarkeit und eine reibungslose Fehleranalyse für jeden einzelnen Lauf sicherzustellen. Es ist, als hättest du einen virtuellen Assistenten, der auf magische Weise weiß, welche Notizen er sich merken muss. Verfolge Modellmetriken in Echtzeit und visualisiere sie, speichere deine Hyperparameter, Datensätze und Modellprüfpunkte und visualisiere deine Modellvorhersagen mit den benutzerdefinierten Comet-Panels!

Außerdem stellt Comet sicher, 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 hervorragender Ausgangspunkt für deinen Einstieg in die Computer Vision. Um die Leistung deines Modells zu verbessern und es für den Produktionseinsatz vorzubereiten, musst du die Ergebnisse in einem Tool zur Experimentverfolgung wie Comet protokollieren.

Die Integration von Comet und YOLOv5 bietet 3 Hauptfunktionen:

  • Funktionen zur automatischen und benutzerdefinierten Protokollierung
  • Speichern von Datensätzen und Modellen als Artefakte zur Fehleranalyse und Reproduzierbarkeit
  • Organisieren deiner Ansicht mit den benutzerdefinierten Panels von Comet

In diesem Leitfaden erfährst du, 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 .comet.config in deinem Arbeitsverzeichnis erstellen und deine Zugangsdaten dort festlegen.

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 Läufe visualisieren und analysieren.

Experimente mit YOLOv5 im Comet-Dashboard

Probiere es selbst aus!#

Sieh dir hier ein abgeschlossenes Experiment an.

Oder noch besser: Probiere es selbst in diesem Colab-Notebook aus.

Automatisch protokollieren#

Standardmäßig protokolliert Comet die folgenden Elemente:

Metriken#

  • Box Loss, Object Loss und Classification Loss für die Trainings- und Validierungsdaten
  • mAP_0.5- und mAP_0.5:0.95-Metriken für die Validierungsdaten
  • Precision und Recall für die Validierungsdaten

Parameter#

  • Modellhyperparameter
  • Alle über die Befehlszeilenoptionen übergebenen Parameter

Visualisierungen#

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

Comet-Protokollierung konfigurieren#

Comet kann so konfiguriert werden, dass zusätzliche Daten über Befehlszeilenoptionen, die an das Trainingsskript übergeben werden, oder über Umgebungsvariablen 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 das Argument save-period an das Trainingsskript. Dadurch werden die protokollierten Prüfpunkte entsprechend dem über save-period angegebenen 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, Ground-Truth-Bezeichnungen und Begrenzungsrahmen) in Comet protokolliert. Du kannst die Häufigkeit der protokollierten Vorhersagen und der zugehörigen Bilder steuern, indem du das Befehlszeilenargument bbox_interval übergibst. Vorhersagen lassen sich mit dem benutzerdefinierten Comet-Panel zur Objekterkennung visualisieren. Diese Häufigkeit entspricht jedem N-ten Daten-Batch pro Epoche. Im folgenden Beispiel protokollieren wir jeden zweiten Daten-Batch jeder Epoche.

Hinweis: Der YOLOv5-Validierungsdatenlader verwendet standardmäßig eine Batchgröße von 32. Daher musst du die Protokollierungshäufigkeit entsprechend festlegen.

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 steuern#

Beim Protokollieren von Vorhersagen aus YOLOv5 protokolliert Comet die mit jedem Vorhersagesatz verbundenen Bilder. Standardmäßig werden maximal 100 Validierungsbilder protokolliert. Mit der Umgebungsvariablen 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 auf Klassenebene protokollieren#

Verwende die Umgebungsvariable COMET_LOG_PER_CLASS_METRICS, um mAP, precision, recall 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-Artefakte hochladen#

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

Der Datensatz wird so organisiert, wie es in der YOLOv5-Dokumentation beschrieben ist. Die YAML-Datei mit der Datensatzkonfiguration muss dasselbe Format wie die Datei coco128.yaml verwenden.

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“ deines Comet-Arbeitsbereichs.

Tab „Comet Artifacts“, YOLOv5

Du kannst die Daten direkt in der Comet-Benutzeroberfläche in der Vorschau anzeigen.

Datenvorschau in Comet, YOLOv5

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

Metadaten aus einer YAML-Datei in Comet protokollieren, YOLOv5

Gespeichertes Artefakt verwenden#

Wenn du einen Datensatz aus Comet Artifacts verwenden möchtest, setze die Pfadvariable in deiner YAML-Datei mit der Datensatzkonfiguration so, dass sie auf die folgende Artefakt-Ressourcen-URL verweist.

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

Übergebe diese Datei anschließend 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 außerdem die Herkunft der Daten verfolgen, während sie deinen Workflow für Experimente durchlaufen. Hier siehst du ein Diagramm mit allen Experimenten, die deinen hochgeladenen Datensatz verwendet haben.

Workflow für Experimente in Comet, YOLOv5

Trainingslauf fortsetzen#

Wenn dein Trainingslauf aus irgendeinem Grund unterbrochen wird, beispielsweise durch eine unterbrochene Internetverbindung, kannst du ihn mit dem Flag resume und dem 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 Prüfpunkt, aller Hyperparameter und Trainingsargumente sowie das Herunterladen von Comet-Datensatzartefakten, falls diese im ursprünglichen Lauf verwendet wurden. Beim fortgesetzten Lauf wird die Protokollierung im bestehenden Experiment in der Comet-Benutzeroberfläche fortgesetzt.

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

Hyperparametersuche mit dem Comet Optimizer#

YOLOv5 ist außerdem in den Comet Optimizer integriert, wodurch sich Hyperparameter-Sweeps in der Comet-Benutzeroberfläche einfach visualisieren lassen.

Optimizer-Sweep konfigurieren#

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

Eine Beispieldatei wurde unter utils/loggers/comet/optimizer_config.json bereitgestellt.

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 deinem Sweep zusätzliche Argumente übergeben möchtest, füge sie einfach nach dem Skript hinzu.

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

Sweep parallel ausführen#

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

Comet bietet zahlreiche Möglichkeiten zur Visualisierung der Ergebnisse deines Sweeps. Sieh dir hier ein Projekt mit einem abgeschlossenen Sweep an:

Sweep-Ergebnisse in Comet visualisieren, YOLOv5

In Kontakt bleiben#

Beginne mit der Nutzung unserer Integration mit Comet, um deine YOLOv5-Modelle zu verwalten, zu visualisieren und zu optimieren – von Trainingsläufen bis zur Überwachung im Produktionseinsatz.

Und natürlich kannst du der Ultralytics Community beitreten – einem Ort, an dem du Fragen stellen und Tipps zum Training, zur Validierung und zur Bereitstellung von YOLOv5 austauschen kannst.

Explore solutions

Computer Vision für Luftbilder

Computer Vision für Luftbilder

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

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

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

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen 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 Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie 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

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

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

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

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

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen 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 Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie 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

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

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

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

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

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen 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 Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie 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

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens