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.

Beginne mit der Initialisierung des ClearML SDK in deiner Umgebung. Der Befehl 'clearml-init' startet den Einrichtungsprozess und fordert dich zur Eingabe der erforderlichen Anmeldedaten 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

Lass uns die Schritte verstehen, die im obigen Code-Schnipsel 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.



Erstellt am 2023-11-29, Aktualisiert am 2024-05-18
Autoren: glenn-jocher (7), abirami-vina (1)

Kommentare