Trainieren, validieren, vorhersagen, exportieren und benchmarken mit Ultralytics YOLO-Modellen – so geht's

24. Juli 2024
Erfahren Sie, wie Sie mit Ultralytics YOLO-Modellen trainieren, validieren, vorhersagen, exportieren und benchmarken können!

24. Juli 2024
Erfahren Sie, wie Sie mit Ultralytics YOLO-Modellen trainieren, validieren, vorhersagen, exportieren und benchmarken können!
Tauchen wir ein in die Welt von Ultralytics und erkunden wir die verschiedenen Modi, die für verschiedene YOLO-Modelle verfügbar sind. Egal, ob Sie benutzerdefinierte Objekterkennungs-Modelle trainieren oder an der Segmentierung arbeiten, das Verständnis dieser Modi ist ein entscheidender Schritt. Los geht's!
In der Ultralytics Dokumentation finden Sie verschiedene Modi, die Sie für Ihre Modelle verwenden können, sei es zum Trainieren, Validieren, Vorhersagen, Exportieren, Benchmarken oder Verfolgen. Jeder dieser Modi dient einem bestimmten Zweck und hilft Ihnen, die Leistung und Bereitstellung Ihres Modells zu optimieren.
Schauen wir uns zunächst den Trainingsmodus an. Hier erstellen und verfeinern Sie Ihr Modell. Detaillierte Anweisungen und Videoanleitungen finden Sie in der Dokumentation, die Ihnen den Einstieg in das Training Ihrer eigenen Modelle erleichtert.
Das Modelltraining umfasst die Bereitstellung eines neuen Datensatzes für ein Modell, wodurch es verschiedene Muster erlernen kann. Nach dem Training kann das Modell in Echtzeit verwendet werden, um neue Objekte zu erkennen, auf die es trainiert wurde. Vor dem Start des Trainingsprozesses ist es wichtig, Ihren Datensatz im YOLO-Format zu annotieren.
Als Nächstes wollen wir uns den Validierungsmodus genauer ansehen. Die Validierung ist unerlässlich, um Hyperparameter abzustimmen und sicherzustellen, dass Ihr Modell gut funktioniert. Ultralytics bietet eine Vielzahl von Validierungsoptionen, darunter automatisierte Einstellungen, Multi-Metrik-Unterstützung und Kompatibilität mit der Python-API. Sie können die Validierung sogar direkt über die Befehlszeilenschnittstelle (CLI) mit dem unten stehenden Befehl ausführen.
Validierung ist entscheidend für:
Ultralytics stellt auch Benutzerbeispiele bereit, die Sie kopieren und in Ihre Python-Skripte einfügen können. Diese Beispiele enthalten Parameter wie Bildgröße, Batch-Größe, Gerät (CPU oder GPU) und Intersection over Union (IoU).
Sobald Ihr Modell trainiert und validiert ist, ist es an der Zeit, Vorhersagen zu treffen. Der Vorhersagemodus ermöglicht es Ihnen, Inferenz auf neuen Daten auszuführen und Ihr Modell in Aktion zu sehen. Dieser Modus ist perfekt, um die Leistung Ihres Modells mit realen Daten zu testen.
Mit dem folgenden Python-Code-Snippet können Sie Vorhersagen für Ihre Bilder ausführen!
Nach dem Validieren und Vorhersagen möchten Sie Ihr Modell möglicherweise bereitstellen. Der Exportmodus ermöglicht es Ihnen, Ihr Modell in verschiedene Formate wie ONNX oder TensorRT zu konvertieren, was die Bereitstellung auf verschiedenen Plattformen erleichtert.
Schließlich haben wir den Benchmark-Modus. Benchmarking ist unerlässlich, um die Leistung Ihres Modells in verschiedenen Szenarien zu bewerten. Dieser Modus hilft Ihnen, fundierte Entscheidungen über Ressourcenzuweisung, Optimierung und Kosteneffizienz zu treffen.
Um einen Benchmark auszuführen, können Sie die bereitgestellten Benutzerbeispiele in der Dokumentation verwenden. Diese Beispiele decken wichtige Metriken und Exportformate ab, einschließlich ONNX und TensorRT. Sie können auch Parameter wie Integer-Quantisierung (INT8) oder Floating-Point-Quantisierung (FP16) angeben, um zu sehen, wie sich verschiedene Einstellungen auf die Leistung auswirken.
Betrachten wir ein reales Beispiel für Benchmarking. Wenn wir unser PyTorch-Modell benchmarken, stellen wir eine Inferenzgeschwindigkeit von 68 Millisekunden auf einer RTX 3070 GPU fest. Nach dem Export nach TorchScript sinkt die Inferenzgeschwindigkeit auf 4 Millisekunden, was eine deutliche Verbesserung darstellt.
Bei ONNX-Modellen erreichen wir eine Inferenzgeschwindigkeit von 21 Millisekunden. Beim Testen dieser Modelle auf einer CPU (einem Intel i9 der 13. Generation) sehen wir unterschiedliche Ergebnisse. TorchScript läuft mit 115 Millisekunden, während ONNX mit 84 Millisekunden besser abschneidet. Schließlich erreicht OpenVINO, optimiert für Intel-Hardware, eine rasante Geschwindigkeit von 23 Millisekunden.
Benchmarking zeigt, wie sich unterschiedliche Hardware und Exportformate auf die Leistung Ihres Modells auswirken können. Es ist entscheidend, Ihre Modelle zu benchmarken, besonders wenn Sie planen, sie auf kundenspezifischer Hardware oder Edge-Geräten einzusetzen. Dieser Prozess stellt sicher, dass Ihr Modell für die Zielumgebung optimiert ist und die bestmögliche Leistung bietet.
Zusammenfassend lässt sich sagen, dass die Modi in der Ultralytics-Dokumentation leistungsstarke Werkzeuge zum Trainieren, Validieren, Vorhersagen, Exportieren und Benchmarking Ihrer YOLO-Modelle sind. Jeder Modus spielt eine wichtige Rolle bei der Optimierung Ihres Modells und der Vorbereitung auf den Einsatz.
Vergessen Sie nicht, unsere Community zu erkunden und sich ihr anzuschließen und die bereitgestellten Code-Snippets in Ihren Projekten auszuprobieren. Mit diesen Tools können Sie hochleistungsfähige Modelle erstellen und sicherstellen, dass sie in jeder Umgebung effizient laufen.