Training von YOLO11 mit ClearML: Optimierung Ihres MLOps-Workflows
MLOps schließt die Lücke zwischen der Erstellung und dem Einsatz von Machine-Learning-Modellen in realen Umgebungen. Der Fokus liegt auf effizientem Einsatz, Skalierbarkeit und laufender Verwaltung, um sicherzustellen, dass Modelle in praktischen Anwendungen gut funktionieren.
Ultralytics YOLO11 lässt sich mühelos in ClearML integrieren, wodurch das Training und die Verwaltung Ihres Objekterkennungsmodells optimiert und verbessert werden. Dieser Leitfaden führt Sie durch den Integrationsprozess und erläutert, wie Sie ClearML einrichten, Experimente verwalten, die Modellverwaltung automatisieren und effektiv zusammenarbeiten können.
ClearML
ClearML ist eine innovative Open-Source-MLOps-Plattform, die gekonnt entwickelt wurde, um Machine-Learning-Workflows zu automatisieren, zu überwachen und zu orchestrieren. Zu den Hauptmerkmalen gehören die automatisierte Protokollierung aller Trainings- und Inferenzdaten für eine vollständige Reproduzierbarkeit der Experimente, eine intuitive Web-UI für einfache Datenvisualisierung und -analyse, fortschrittliche Algorithmen zur Hyperparameter-Optimierung und eine robuste Modellverwaltung für den effizienten Einsatz auf verschiedenen Plattformen.
YOLO11-Training mit ClearML
Sie können Automatisierung und Effizienz in Ihren Machine-Learning-Workflow bringen, indem Sie Ihren Trainingsprozess durch die Integration von YOLO11 mit ClearML verbessern.
Installation
Um die erforderlichen Pakete zu installieren, führen Sie Folgendes aus:
Installation
# Install the required packages for YOLO11 and ClearML
pip install ultralytics clearml
Für detaillierte Anweisungen und Best Practices im Zusammenhang mit dem Installationsprozess sollten Sie unbedingt unseren YOLO11-Installationsleitfaden lesen. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, konsultieren Sie unseren Leitfaden zu häufigen Problemen für Lösungen und Tipps.
Konfigurieren von ClearML
Sobald Sie die notwendigen Pakete installiert haben, besteht der nächste Schritt darin, Ihr ClearML SDK zu initialisieren und zu konfigurieren. Dies beinhaltet die Einrichtung Ihres ClearML-Kontos und die Beschaffung der notwendigen Anmeldedaten für eine nahtlose Verbindung zwischen Ihrer Entwicklungsumgebung und dem ClearML-Server.
Beginnen Sie mit der Initialisierung des ClearML SDK in Ihrer Umgebung. Der Befehl 'clearml-init' startet den Einrichtungsprozess und fordert Sie zur Eingabe der erforderlichen Anmeldedaten auf.
Erste SDK-Einrichtung
# Initialize your ClearML SDK setup process
clearml-init
Besuchen Sie nach der Ausführung dieses Befehls die ClearML-Einstellungsseite. Navigieren Sie zur oberen rechten Ecke und wählen Sie "Settings" (Einstellungen). Gehen Sie zum Abschnitt "Workspace" (Arbeitsbereich) und klicken Sie auf "Create new credentials" (Neue Anmeldedaten erstellen). Verwenden Sie die im Pop-up-Fenster "Create Credentials" (Anmeldedaten erstellen) angegebenen Anmeldedaten, um die Einrichtung gemäß den Anweisungen abzuschließen, je nachdem, ob Sie ClearML in einem Jupyter Notebook oder einer lokalen Python-Umgebung konfigurieren.
Nutzung
Bevor Sie sich mit den Anwendungsanweisungen befassen, sollten Sie sich das Angebot an YOLO11-Modellen von Ultralytics ansehen. Dies wird Ihnen helfen, das am besten geeignete Modell für Ihre Projektanforderungen auszuwählen.
Nutzung
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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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 Code verstehen
Lassen Sie uns die Schritte verstehen, die in dem obigen Code-Snippet gezeigt werden.
Schritt 1: Erstellen einer ClearML-Aufgabe: In ClearML wird eine neue Aufgabe initialisiert, wobei Ihr Projekt und Ihre Aufgabennamen angegeben werden. Diese Aufgabe verfolgt und verwaltet das Training Ihres Modells.
Schritt 2: Auswahl des YOLO11-Modells: Die model_variant
Variable ist auf 'yolo11n' gesetzt, eines der YOLO11-Modelle. Diese Variante wird dann zur Nachverfolgung in ClearML protokolliert.
Schritt 3: Laden des YOLO11-Modells: Das ausgewählte YOLO11-Modell wird mit der YOLO-Klasse von Ultralytics geladen und für das Training vorbereitet.
Schritt 4: Einrichten von Trainingsargumenten: Wichtige Trainingsargumente wie der Datensatz (coco8.yaml
) und die Anzahl der Epochen (16
) werden in einem Dictionary organisiert und mit der ClearML-Aufgabe verbunden. Dies ermöglicht die Verfolgung und potenzielle Modifizierung über die ClearML-UI. Für ein detailliertes Verständnis des Modelltrainingsprozesses und der Best Practices verweisen wir auf unseren YOLO11-Modelltrainingsleitfaden.
Schritt 5: Initiierung des Modelltrainings: Das Modelltraining wird mit den angegebenen Argumenten gestartet. Die Ergebnisse des Trainingsprozesses werden in der results
Variable geschieht.
Die Ausgabe verstehen
Bei Ausführung des obigen Code-Snippets können Sie die folgende Ausgabe erwarten:
- Eine Bestätigungsmeldung, die die Erstellung einer neuen ClearML-Aufgabe zusammen mit ihrer eindeutigen ID anzeigt.
- Eine Informationsmeldung darüber, dass der Skriptcode gespeichert wird, was darauf hinweist, dass die Codeausführung von ClearML verfolgt wird.
- Ein URL-Link zur ClearML-Ergebnisseite, auf der Sie den Trainingsfortschritt überwachen und detaillierte Protokolle einsehen können.
- Download-Fortschritt für das YOLO11-Modell und den angegebenen Datensatz, gefolgt von einer Zusammenfassung der Modellarchitektur und der Trainingskonfiguration.
- Initialisierungsmeldungen für verschiedene Trainingskomponenten wie TensorBoard, Automatic Mixed Precision (AMP) und Dataset-Vorbereitung.
- Schließlich beginnt der Trainingsprozess mit Fortschrittsaktualisierungen, während das Modell auf dem angegebenen Datensatz trainiert wird. Für ein tiefgreifendes Verständnis der während des Trainings verwendeten Leistungsmetriken lesen Sie unseren Leitfaden zu Leistungsmetriken.
Anzeigen der ClearML-Ergebnisseite
Durch Klicken auf den URL-Link zur ClearML-Ergebnisseite in der Ausgabe des Usage-Code-Snippets können Sie auf eine umfassende Ansicht des Trainingsprozesses Ihres Modells zugreifen.
Hauptmerkmale der ClearML-Ergebnisseite
-
Echtzeit-Metrik-Tracking
- Verfolgen Sie wichtige Metriken wie Verlust, Genauigkeit und Validierungsergebnisse, sobald sie auftreten.
- Bietet sofortiges Feedback für zeitnahe Anpassungen der Modellleistung.
-
Experimentvergleich
- Vergleichen Sie verschiedene Trainingsläufe nebeneinander.
- Unerlässlich für das Hyperparameter-Tuning und die Identifizierung der effektivsten Modelle.
-
Detaillierte Protokolle und Ausgaben
- Greifen Sie auf umfassende Protokolle, grafische Darstellungen von Metriken und Konsolenausgaben zu.
- Gewinnen Sie ein tieferes Verständnis des Modellverhaltens und der Problemlösung.
-
Überwachung der Ressourcenauslastung
- Überwachen Sie die Auslastung von Rechenressourcen, einschließlich CPU, GPU und Speicher.
- Der Schlüssel zur Optimierung der Trainingseffizienz und -kosten.
-
Verwaltung von Modellartefakten
- Anzeigen, Herunterladen und Teilen von Modellartefakten wie trainierten Modellen und Checkpoints.
- Verbessert die Zusammenarbeit und rationalisiert die Modellbereitstellung und -freigabe.
Für eine visuelle Darstellung, wie die ClearML-Ergebnisseite aussieht, sehen Sie sich das folgende Video an:
Ansehen: YOLO11 MLOps-Integration mit ClearML
Erweiterte Funktionen in ClearML
ClearML bietet verschiedene erweiterte Funktionen zur Verbesserung Ihrer MLOps-Erfahrung.
Remote-Ausführung
Die Remote-Ausführungsfunktion von ClearML erleichtert die Reproduktion und Manipulation von Experimenten auf verschiedenen Maschinen. Sie protokolliert wichtige Details wie installierte Pakete und nicht übertragene Änderungen. Wenn eine Aufgabe in die Warteschlange gestellt wird, ruft der ClearML Agent sie ab, erstellt die Umgebung neu und führt das Experiment aus, wobei er detaillierte Ergebnisse zurückmeldet.
Die Bereitstellung eines ClearML-Agenten ist unkompliziert und kann auf verschiedenen Rechnern mit dem folgenden Befehl erfolgen:
clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]
Dieses Setup ist auf Cloud-VMs, lokalen GPUs oder Laptops anwendbar. ClearML Autoscalers helfen bei der Verwaltung von Cloud-Workloads auf Plattformen wie AWS, GCP und Azure, indem sie die Bereitstellung von Agenten automatisieren und Ressourcen basierend auf Ihrem Ressourcenbudget anpassen.
Klonen, Bearbeiten und Einreihen
Die benutzerfreundliche Oberfläche von ClearML ermöglicht das einfache Klonen, Bearbeiten und Einreihen von Aufgaben. Benutzer können ein bestehendes Experiment klonen, Parameter oder andere Details über die Benutzeroberfläche anpassen und die Aufgabe zur Ausführung einreihen. Dieser optimierte Prozess stellt sicher, dass der ClearML-Agent, der die Aufgabe ausführt, aktualisierte Konfigurationen verwendet, was ihn ideal für iterative Experimente und das Feinabstimmen von Modellen macht.
Datensatz-Versionsverwaltung
ClearML bietet auch leistungsstarke Funktionen zur Versionsverwaltung von Datensätzen, die sich nahtlos in die YOLO11-Trainingsworkflows integrieren lassen. Mit dieser Funktion können Sie:
- Versionieren Sie Ihre Datensätze getrennt von Ihrem Code
- Verfolgen Sie, welche Datensatzversion für jedes Experiment verwendet wurde
- Einfacher Zugriff auf die neueste Datensatzversion und deren Download
Um Ihren Datensatz für ClearML vorzubereiten, führen Sie die folgenden Schritte aus:
- Organisieren Sie Ihren Datensatz mit der Standard-YOLO-Struktur (Bilder, Beschriftungen usw.).
- Kopieren Sie die entsprechende YAML-Datei in das Stammverzeichnis Ihres Datensatzordners.
-
Laden Sie Ihren Datensatz mit dem ClearML Data Tool hoch:
cd your_dataset_folder clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
Dieser Befehl erstellt einen versionierten Datensatz in ClearML, auf den in Ihren Trainingsskripten verwiesen werden kann, um Reproduzierbarkeit und einfachen Zugriff auf Ihre Daten zu gewährleisten.
Zusammenfassung
Dieser Leitfaden hat Sie durch den Prozess der Integration von ClearML mit Ultralytics' YOLO11 geführt. Von der Ersteinrichtung bis hin zur erweiterten Modellverwaltung haben Sie erfahren, wie Sie ClearML für effizientes Training, Experimentverfolgung und Workflow-Optimierung in Ihren Machine-Learning-Projekten nutzen können.
Weitere Informationen zur Verwendung finden Sie in der offiziellen ClearML-Dokumentation.
Entdecken Sie außerdem weitere Integrationen und Möglichkeiten von Ultralytics, indem Sie die Ultralytics-Integrationsleitfadenseite besuchen, die eine Fundgrube an Ressourcen und Erkenntnissen darstellt.
FAQ
Wie funktioniert die Integration von Ultralytics YOLO11 mit ClearML?
Die Integration von Ultralytics YOLO11 mit ClearML umfasst eine Reihe von Schritten zur Optimierung Ihres MLOps-Workflows. Installieren Sie zunächst die erforderlichen Pakete:
pip install ultralytics clearml
Initialisieren Sie als Nächstes das ClearML SDK in Ihrer Umgebung mit:
clearml-init
Anschließend konfigurieren Sie ClearML mit Ihren Anmeldeinformationen von der ClearML-Einstellungsseite. Detaillierte Anweisungen zum gesamten Einrichtungsprozess, einschließlich Modellauswahl und Trainingskonfigurationen, finden Sie in unserem YOLO11-Modelltrainingsleitfaden.
Warum sollte ich ClearML mit Ultralytics YOLO11 für meine Machine-Learning-Projekte verwenden?
Die Verwendung von ClearML mit Ultralytics YOLO11 verbessert Ihre Projekte für maschinelles Lernen durch die Automatisierung der Experimentverfolgung, die Optimierung von Workflows und die Ermöglichung eines robusten Modellmanagements. ClearML bietet Echtzeit-Metrikverfolgung, Überwachung der Ressourcenauslastung und eine benutzerfreundliche Oberfläche zum Vergleichen von Experimenten. Diese Funktionen helfen, die Leistung Ihres Modells zu optimieren und den Entwicklungsprozess effizienter zu gestalten. Erfahren Sie mehr über die Vorteile und Verfahren in unserem MLOps-Integrationsleitfaden.
Wie behebe ich häufige Probleme bei der YOLO11- und ClearML-Integration?
Wenn Sie bei der Integration von YOLO11 mit ClearML auf Probleme stoßen, konsultieren Sie unseren Leitfaden zu häufigen Problemen für Lösungen und Tipps. Typische Probleme können Paketinstallationsfehler, die Einrichtung von Anmeldeinformationen oder Konfigurationsprobleme sein. Dieser Leitfaden bietet schrittweise Anleitungen zur Fehlerbehebung, um diese häufigen Probleme effizient zu beheben.
Wie richte ich die ClearML-Aufgabe für das YOLO11-Modelltraining ein?
Das Einrichten einer ClearML-Aufgabe für das YOLO11-Training umfasst das Initialisieren einer Aufgabe, das Auswählen der Modellvariante, das Laden des Modells, das Einrichten von Trainingsargumenten und schließlich das Starten des Modelltrainings. 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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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)
Eine detaillierte Aufschlüsselung dieser Schritte finden Sie in unserem Benutzerhandbuch.
Wo kann ich die Ergebnisse meines YOLO11-Trainings in ClearML einsehen?
Nachdem Sie Ihr YOLO11-Trainingsskript mit ClearML ausgeführt haben, können Sie die Ergebnisse auf der ClearML-Ergebnisseite anzeigen. Die Ausgabe enthält einen URL-Link zum ClearML-Dashboard, wo Sie Metriken verfolgen, Experimente vergleichen und die Ressourcenauslastung überwachen können. Weitere Informationen zum Anzeigen und Interpretieren der Ergebnisse finden Sie in unserem Abschnitt zum Anzeigen der ClearML-Ergebnisseite.