Zum Inhalt springen

Schulung YOLOv8 mit ClearML: Rationalisierung deines MLOps-Workflows

MLOps überbrückt die Lücke zwischen der Erstellung und dem Einsatz von Machine-Learning-Modellen in der realen Welt. Es konzentriert sich auf die effiziente Bereitstellung, Skalierbarkeit und laufende Verwaltung, um sicherzustellen, dass die Modelle in praktischen Anwendungen gut funktionieren.

Ultralytics YOLOv8 lässt sich mühelos in ClearML integrieren und vereinfacht und verbessert das Training und die Verwaltung deines Objekterkennungsmodells. Dieser Leitfaden führt dich durch den Integrationsprozess und zeigt dir, wie du ClearML einrichtest, Experimente verwaltest, die Modellverwaltung automatisierst und effektiv zusammenarbeitest.

ClearML

ClearML Übersicht

ClearML ist eine innovative Open-Source-Plattform für maschinelles Lernen, die für die Automatisierung, Überwachung und Orchestrierung von Machine-Learning-Workflows entwickelt wurde. Zu den wichtigsten Funktionen gehören die automatische Protokollierung aller Trainings- und Inferenzdaten für eine vollständige Reproduzierbarkeit der Experimente, eine intuitive Web-UI für eine einfache Datenvisualisierung und -analyse, fortschrittliche Hyperparameter-Optimierungsalgorithmen und eine robuste Modellverwaltung für eine effiziente Bereitstellung auf verschiedenen Plattformen.

YOLOv8 Ausbildung mit ClearML

Du kannst deinen Workflow für maschinelles Lernen automatisieren und effizienter gestalten, indem du deinen Trainingsprozess durch die Integration von YOLOv8 mit ClearML verbesserst.

Installation

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

Installation

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

Ausführliche Anweisungen und bewährte Verfahren für den Installationsprozess findest du in unserem YOLOv8 Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Konfigurieren von ClearML

Nachdem du die erforderlichen Pakete installiert hast, musst du im nächsten Schritt dein ClearML SDK initialisieren und konfigurieren. Dazu musst du dein ClearML Konto einrichten und die notwendigen Anmeldedaten für eine nahtlose Verbindung zwischen deiner Entwicklungsumgebung und dem ClearML Server erhalten.

Beginnen Sie mit der Initialisierung der ClearML SDK in Ihrer Umgebung. Die 'clearml-init' startet den Setup-Prozess und fordert Sie zur Eingabe der erforderlichen Anmeldeinformationen auf.

Erste SDK-Einrichtung

# Initialize your ClearML SDK setup process
clearml-init

Nachdem du diesen Befehl ausgeführt hast, rufe die SeiteClearML Einstellungen auf. Navigiere zur oberen rechten Ecke und wähle "Einstellungen". Gehe zum Abschnitt "Arbeitsbereich" und klicke auf "Neue Anmeldedaten erstellen". Verwende die Anmeldedaten, die du im Pop-up-Fenster "Anmeldedaten erstellen" erhältst, um die Einrichtung wie angegeben abzuschließen, je nachdem, ob du ClearML in einem Jupyter Notebook oder einer lokalen Python Umgebung konfigurierst.

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 clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

Den Kodex verstehen

Lassen Sie uns die Schritte verstehen, die im obigen Verwendungscode-Snippet gezeigt werden.

Schritt 1: Erstellen einer ClearML Aufgabe: Eine neue Aufgabe wird in ClearML angelegt, wobei du die Namen deines Projekts und deiner Aufgabe angibst. Diese Aufgabe wird das Training deines Modells verfolgen und verwalten.

Schritt 2: Auswählen des YOLOv8 Modells: Die model_variant Variable wird auf 'yolov8n' gesetzt, eine der YOLOv8 Varianten. Diese Variante wird dann in ClearML zur Nachverfolgung protokolliert.

Schritt 3: Laden des YOLOv8 Modells: Das ausgewählte YOLOv8 Modell wird mit der Klasse Ultralytics' YOLO geladen, um es für das Training vorzubereiten.

Schritt 4: Trainingsargumente aufstellen: Wichtige Trainingsargumente wie der Datensatz (coco8.yaml) und die Anzahl der Epochen (16) werden in einem Wörterbuch organisiert und mit der Aufgabe ClearML verbunden. Dies ermöglicht die Nachverfolgung und mögliche Änderung über die Benutzeroberfläche ClearML . Ein detailliertes Verständnis des Modelltrainings und der besten Praktiken findest du in unserem YOLOv8 Modell Ausbildungsleitfaden.

Schritt 5: Modellschulung einleiten: Das Modelltraining wird mit den angegebenen Argumenten gestartet. Die Ergebnisse des Trainingsprozesses werden in der results variabel.

Die Ausgabe verstehen

Wenn du das obige Code-Snippet ausführst, kannst du die folgende Ausgabe erwarten:

  • Eine Bestätigungsmeldung, die die Erstellung einer neuen ClearML Aufgabe zusammen mit ihrer eindeutigen ID anzeigt.
  • Eine Informationsmeldung über den gespeicherten Skriptcode, die darauf hinweist, dass die Codeausführung von ClearML verfolgt wird.
  • Einen URL-Link zur Ergebnisseite ClearML , auf der du den Trainingsfortschritt verfolgen und detaillierte Protokolle einsehen kannst.
  • Lade den Fortschritt für das Modell YOLOv8 und den angegebenen Datensatz herunter, gefolgt von einer Zusammenfassung der Modellarchitektur und Trainingskonfiguration.
  • Initialisierungsmeldungen für verschiedene Trainingskomponenten wie TensorBoard, Automatic Mixed Precision (AMP) und Datensatzvorbereitung.
  • Schließlich beginnt der Trainingsprozess, wobei der Fortschritt aktualisiert wird, während das Modell auf dem angegebenen Datensatz trainiert. Für ein tieferes Verständnis der Leistungskennzahlen, die beim Training verwendet werden, lies unseren Leitfaden über Leistungskennzahlen.

Aufrufen der Ergebnisseite ClearML

Wenn du auf den URL-Link zur Ergebnisseite ClearML in der Ausgabe des Anwendungscode-Snippets klickst, kannst du dir einen umfassenden Überblick über den Trainingsprozess deines Modells verschaffen.

Hauptmerkmale der Ergebnisseite ClearML

  • Metriken in Echtzeit verfolgen

    • Verfolge wichtige Kennzahlen wie Verlust, Genauigkeit und Validierungsergebnisse, sobald sie auftreten.
    • Bietet sofortiges Feedback für rechtzeitige Anpassungen der Modellleistung.
  • Experiment Vergleich

    • Vergleiche verschiedene Trainingsläufe nebeneinander.
    • Unverzichtbar für die Abstimmung der Hyperparameter und die Identifizierung der effektivsten Modelle.
  • Detaillierte Protokolle und Ausgaben

    • Zugriff auf umfassende Protokolle, grafische Darstellungen von Metriken und Konsolenausgaben.
    • Erhalte ein tieferes Verständnis von Modellverhalten und Problemlösung.
  • Überwachung der Ressourcenauslastung

    • Überwache die Auslastung der Rechenressourcen, einschließlich CPU, GPU und Speicher.
    • Der Schlüssel zur Optimierung der Ausbildungseffizienz und der Kosten.
  • Modell Artefakte Management

    • Du kannst Modellartefakte wie trainierte Modelle und Kontrollpunkte ansehen, herunterladen und mit anderen teilen.
    • Verbessert die Zusammenarbeit und vereinfacht die Bereitstellung und den Austausch von Modellen.

Wie die ClearML Ergebnisseite aussieht, kannst du dir im folgenden Video ansehen:



Pass auf: YOLOv8 MLOps Integration mit ClearML

Erweiterte Funktionen in ClearML

ClearML bietet verschiedene fortschrittliche Funktionen, die dein MLOps-Erlebnis verbessern.

Remote-Ausführung

ClearMLDie Fernausführungsfunktion erleichtert die Reproduktion und Manipulation von Experimenten auf verschiedenen Rechnern. Sie protokolliert wichtige Details wie installierte Pakete und nicht übertragene Änderungen. Wenn eine Aufgabe in die Warteschlange gestellt wird, holt der ClearML Agent sie ab, erstellt die Umgebung neu, führt das Experiment aus und meldet detaillierte Ergebnisse zurück.

Die Bereitstellung eines ClearML Agenten ist einfach und kann mit folgendem Befehl auf verschiedenen Rechnern durchgeführt werden:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

Dieses Setup ist für Cloud-VMs, lokale GPUs oder Laptops geeignet. ClearML Autoscaler helfen bei der Verwaltung von Cloud-Workloads auf Plattformen wie AWS, GCP und Azure, indem sie die Bereitstellung von Agenten automatisieren und die Ressourcen auf der Grundlage deines Ressourcenbudgets anpassen.

Klonen, Bearbeiten und Enqueuing

ClearMLDie benutzerfreundliche Oberfläche ermöglicht das einfache Klonen, Bearbeiten und Einreihen von Aufgaben. Nutzer können ein bestehendes Experiment klonen, Parameter oder andere Details über die Benutzeroberfläche anpassen und die Aufgabe zur Ausführung freigeben. Dieser rationelle Prozess stellt sicher, dass der ClearML Agent, der die Aufgabe ausführt, aktualisierte Konfigurationen verwendet, was ihn ideal für iterative Experimente und die Feinabstimmung des Modells macht.


Klonen, Bearbeiten und Enqueuing mit ClearML

Zusammenfassung

Dieser Leitfaden führt dich durch den Prozess der Integration von ClearML mit Ultralytics' YOLOv8. Von der anfänglichen Einrichtung bis zur fortgeschrittenen Modellverwaltung erfährst du, wie du ClearML für effizientes Training, die Verfolgung von Experimenten und die Optimierung von Arbeitsabläufen in deinen Machine-Learning-Projekten nutzen kannst.

Weitere Informationen zur Verwendung findest du in der offiziellen Dokumentation vonClearML.

Weitere Integrationen und Möglichkeiten von Ultralytics findest du auf der SeiteUltralytics , die eine Fundgrube für Ressourcen und Einblicke ist.

FAQ

Wie läuft die Integration von Ultralytics YOLOv8 mit ClearML ab?

Die Integration von Ultralytics YOLOv8 mit ClearML umfasst eine Reihe von Schritten, um deinen MLOps-Workflow zu optimieren. Zuerst installierst du die notwendigen Pakete:

pip install ultralytics clearml

Als Nächstes initialisierst du das ClearML SDK in deiner Umgebung mit:

clearml-init

Anschließend konfigurierst du ClearML mit deinen Anmeldedaten auf der SeiteClearML Einstellungen. Detaillierte Anweisungen zum gesamten Einrichtungsprozess, einschließlich der Modellauswahl und der Trainingskonfigurationen, findest du in unserem YOLOv8 Modellschulungsleitfaden.

Warum sollte ich ClearML mit Ultralytics YOLOv8 für meine maschinellen Lernprojekte verwenden?

Die Verwendung von ClearML mit Ultralytics YOLOv8 verbessert deine Machine-Learning-Projekte, indem es die Nachverfolgung von Experimenten automatisiert, Arbeitsabläufe rationalisiert und eine robuste Modellverwaltung ermöglicht. ClearML bietet die Nachverfolgung von Metriken in Echtzeit, die Überwachung der Ressourcennutzung und eine benutzerfreundliche Oberfläche zum Vergleichen von Experimenten. Diese Funktionen helfen dabei, die Leistung deines Modells zu optimieren und den Entwicklungsprozess effizienter zu gestalten. Erfahre mehr über die Vorteile und Verfahren in unserem MLOps-Integrationsleitfaden.

Wie behebe ich häufige Probleme bei der Integration von YOLOv8 und ClearML ?

Wenn du bei der Integration von YOLOv8 mit ClearML auf Probleme stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps. Typische Probleme sind Fehler bei der Paketinstallation, bei der Einrichtung der Anmeldeinformationen oder bei der Konfiguration. Dieser Leitfaden enthält Schritt-für-Schritt-Anleitungen zur Fehlerbehebung, um diese häufigen Probleme effizient zu lösen.

Wie richte ich die Aufgabe ClearML für die YOLOv8 Modellschulung ein?

Das Einrichten einer ClearML Aufgabe für die YOLOv8 Schulung umfasst das Initialisieren einer Aufgabe, das Auswählen der Modellvariante, das Laden des Modells, das Festlegen der Schulungsargumente und schließlich das Starten der Modellschulung. Hier ist ein vereinfachtes Beispiel:

from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

In unserem Leitfaden zur Nutzung findest du eine detaillierte Aufschlüsselung dieser Schritte.

Wo kann ich die Ergebnisse meines YOLOv8 Trainings auf ClearML einsehen?

Nachdem du dein YOLOv8 Trainingsskript mit ClearML ausgeführt hast, kannst du die Ergebnisse auf der Ergebnisseite ClearML einsehen. Die Ausgabe enthält einen URL-Link zum ClearML Dashboard, wo du Metriken verfolgen, Experimente vergleichen und die Ressourcennutzung überwachen kannst. Weitere Informationen zum Anzeigen und Interpretieren der Ergebnisse findest du in unserem Abschnitt über das Anzeigen der ClearML Ergebnisseite.



Erstellt am 2023-11-29, Aktualisiert am 2024-07-05
Autoren: glenn-jocher (10), IvorZhu331 (1), abirami-vina (1)

Kommentare