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.

Begin by initializing the ClearML SDK in your environment. The 'clearml-init' command starts the setup process and prompts you for the necessary credentials.

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

Let's understand the steps showcased in the usage code snippet above.

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.



Created 2023-11-29, Updated 2024-06-09
Authors: IvorZhu331 (1), glenn-jocher (9), abirami-vina (1)

Kommentare