Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten

Wie man mit Ultralytics YOLO trainiert, validiert, vorhersagt, exportiert und vergleicht

Nuvola Ladi

3 Minuten Lesezeit

24. Juli 2024

Lernen Sie, wie man mit Ultralytics YOLO trainiert, validiert, vorhersagt, exportiert und Benchmarks durchführt!

Tauchen Sie ein in die Welt von Ultralytics und erkunden Sie die verschiedenen Modi, die für verschiedene YOLO zur Verfügung stehen. Ob Sie nun benutzerdefinierte Objekterkennungsmodelle trainieren oder an der Segmentierung arbeiten, das Verständnis dieser Modi ist ein entscheidender Schritt. Legen wir gleich los!

In derUltralytics-Dokumentation finden Sie mehrere Modi, die Sie für Ihre Modelle verwenden können, sei es zum Trainieren, Validieren, Vorhersagen, Exportieren, Benchmarking oder track. Jeder dieser Modi dient einem bestimmten Zweck und hilft Ihnen, die Leistung und den Einsatz Ihres Modells zu optimieren.

Trainingsmodus

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.

Bei der Modellschulung wird ein Modell mit einem neuen Datensatz versorgt, damit es verschiedene Muster lernen kann. Sobald das Modell trainiert ist, kann es in Echtzeit verwendet werden, um neue Objekte detect , für die es trainiert wurde. Bevor Sie mit dem Trainingsprozess beginnen, müssen Sie Ihren Datensatz unbedingt im YOLO annotieren.

Validierungsmodus

Als Nächstes wollen wir in den Validierungsmodus eintauchen. Die Validierung ist für die Abstimmung von Hyperparametern und die Gewährleistung einer guten Leistung Ihres Modells unerlässlich. Ultralytics bietet eine Vielzahl von Validierungsoptionen, darunter automatische Einstellungen, Unterstützung für mehrere Metriken und Kompatibilität mit der Python . Sie können die Validierung sogar direkt über die BefehlszeilenschnittstelleCLI) mit dem unten stehenden Befehl ausführen.

Warum validieren?

Validierung ist entscheidend für:

  • Präzision: Sicherstellen, dass Ihr Modell Objekte genau erkennt.
  • Convenience: Optimierung des Validierungsprozesses.
  • Flexibilität: Bietet mehrere Validierungsmethoden.
  • Hyperparameter-Optimierung: Optimieren Sie Ihr Modell für eine bessere Leistung.

Ultralytics bietet auch Benutzerbeispiele, die Sie kopieren und in Ihre Python einfügen können. Diese Beispiele umfassen Parameter wie Bildgröße, Stapelgröße, GerätCPU oder GPU) und Intersection over UnionIoU).

Vorhersagemodus

Sobald Ihr Modell trainiert und validiert ist, ist es an der Zeit, Vorhersagen zu treffen. Im Vorhersagemodus können Sie die Inferenz auf neue Daten anwenden und Ihr Modell in Aktion sehen. Dieser Modus eignet sich perfekt, um die Leistung Ihres Modells an realen Daten zu testen.

Mit dem folgenden python können Sie Vorhersagen für Ihre Bilder durchführen!

Exportmodus

Nach der Validierung und Vorhersage möchten Sie Ihr Modell vielleicht einsetzen. Der Exportmodus ermöglicht es Ihnen, Ihr Modell in verschiedene Formate zu konvertieren, wie z.B. ONNX oder TensorRT, was den Einsatz auf verschiedenen Plattformen erleichtert.

Benchmark-Modus

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.

Wie man Benchmarking durchführt

Um einen Benchmark durchzuführen, können Sie die in der Dokumentation enthaltenen Benutzerbeispiele verwenden. Diese Beispiele decken die wichtigsten Metriken und Exportformate ab, einschließlich ONNX und TensorRT. Sie können auch Parameter wie Integer-Quantisierung (INT8) oder Fließkomma-Quantisierung (FP16) angeben, um zu sehen, wie sich verschiedene Einstellungen auf die Leistung auswirken.

Realistisches Beispiel für Benchmarking

Schauen wir uns ein reales Beispiel für Benchmarking an. Beim Benchmarking unseres PyTorch stellen wir eine Inferenzgeschwindigkeit von 68 Millisekunden auf einer RTX 3070 GPU fest. Nach dem Export in TorchScript sinkt die Inferenzgeschwindigkeit auf 4 Millisekunden, was eine deutliche Verbesserung darstellt.

Bei ONNX 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 , das für Intel optimiert ist, nur noch 23 Millisekunden.

__wf_reserved_inherit
Abbildung 1. Nicolai Nielsen demonstriert, wie das Benchmarking mit Ultralytics YOLO durchgeführt wird.

Die Bedeutung von Benchmarking

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.

Fazit

Zusammenfassend lässt sich sagen, dass die Modi in der Ultralytics leistungsstarke Werkzeuge für das Training, die Validierung, die Vorhersage, den Export und das Benchmarking Ihrer YOLO sind. Jeder Modus spielt eine wichtige Rolle bei der Optimierung Ihres Modells und der Vorbereitung auf die Bereitstellung.

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.

Lasst uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens

Kostenlos starten