Grüner Scheck
Link in die Zwischenablage kopiert

Training, Validierung, Vorhersage, Export und Benchmarking mit Ultralytics YOLO Modellen

Lerne, wie du mit Ultralytics Modelle trainierst, validierst, vorhersagst, exportierst und benchmarkst.YOLO

Tauchen wir ein in die Welt von Ultralytics und erkunden wir die verschiedenen Modi, die für verschiedene YOLO Modelle zur Verfügung stehen. Ganz gleich, ob du benutzerdefinierte Objekterkennungsmodelle trainierst oder an der Segmentierung arbeitest, das Verständnis dieser Modi ist ein wichtiger Schritt. Lass uns gleich loslegen!

In derDokumentation von Ultralytics findest du verschiedene Modi, die du für deine Modelle nutzen kannst, sei es zum Trainieren, Validieren, Vorhersagen, Exportieren, Benchmarking oder Verfolgen. Jeder dieser Modi dient einem bestimmten Zweck und hilft dir, die Leistung und den Einsatz deines Modells zu optimieren.

Zugmodus

Als erstes schauen wir uns den Zugmodus an. Hier baust du dein Modell auf und verfeinerst es. In der Dokumentation findest du detaillierte Anweisungen und Videoanleitungen, die dir den Einstieg in das Training deiner eigenen Modelle erleichtern.

Beim Modelltraining 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 zu erkennen, für die es trainiert wurde. Bevor du mit dem Trainingsprozess beginnst, musst du deinen Datensatz im Format YOLO mit Anmerkungen versehen.

Modus validieren

Als Nächstes wollen wir uns mit dem Validierungsmodus beschäftigen. Die Validierung ist wichtig, um Hyperparameter abzustimmen und sicherzustellen, dass dein Modell gut funktioniert. Ultralytics bietet eine Vielzahl von Validierungsoptionen, darunter automatische Einstellungen, Unterstützung für mehrere Metriken und Kompatibilität mit der Python API. Du kannst die Validierung sogar direkt über die Befehlszeilenschnittstelle (CLI) mit dem folgenden Befehl ausführen.


yolo detect val model=yolov8n.pt # val official model

Warum validieren?

Die Validierung ist entscheidend für:

  • Präzision: Sicherstellen, dass dein Modell Objekte genau erkennt.
  • Bequemlichkeit: Vereinfachung des Validierungsprozesses.
  • Flexibilität: Bietet mehrere Validierungsmethoden an.
  • Hyperparameter-Tuning: Optimiere dein Modell für eine bessere Leistung.

Ultralytics bietet auch Benutzerbeispiele, die du kopieren und in deine Python Skripte einfügen kannst. Diese Beispiele enthalten Parameter wie Bildgröße, Stapelgröße, Gerät (CPU oder GPU) und Schnittmenge über Vereinigung (IoU).

Modus vorhersagen

Sobald dein Modell trainiert und validiert ist, ist es an der Zeit, Vorhersagen zu treffen. Im Vorhersagemodus kannst du die Inferenz auf neue Daten anwenden und dein Modell in Aktion sehen. Dieser Modus eignet sich perfekt, um die Leistung deines Modells anhand von realen Daten zu testen.

Mit dem folgenden python Codeschnipsel kannst du Vorhersagen für deine Bilder machen!


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

Exportmodus

Nach der Validierung und Vorhersage möchtest du dein Modell vielleicht einsetzen. Der Exportmodus ermöglicht es dir, dein Modell in verschiedene Formate zu konvertieren, z. B. ONNX oder TensorRT, damit es leichter auf verschiedenen Plattformen eingesetzt werden kann.

Benchmark-Modus

Schließlich haben wir noch den Benchmark-Modus. Das Benchmarking ist wichtig, um die Leistung deines Modells in verschiedenen Szenarien zu bewerten. Dieser Modus hilft dir, fundierte Entscheidungen über die Ressourcenzuweisung, Optimierung und Kosteneffizienz zu treffen.

Wie man Benchmarking betreibt

Um einen Benchmark durchzuführen, kannst du die Benutzerbeispiele in der Dokumentation verwenden. Diese Beispiele decken die wichtigsten Kennzahlen und Exportformate ab, darunter ONNX und TensorRT. Du kannst auch Parameter wie die Ganzzahlquantisierung (INT8) oder die Fließkommaquantisierung (FP16) angeben, um zu sehen, wie sich verschiedene Einstellungen auf die Leistung auswirken.

Beispiel für ein Benchmarking in der realen Welt

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

Bei den ONNX Modellen erreichen wir eine Inferenzgeschwindigkeit von 21 Millisekunden. Beim Testen dieser Modelle auf einem 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 die Hardware von Intel optimiert ist, sagenhafte 23 Millisekunden.

Abb. 1. Nicolai Nielsen demonstriert, wie man mit Ultralytics Benchmarking betreibtYOLO Modelle.

Die Bedeutung von Benchmarking

Benchmarking zeigt, wie sich unterschiedliche Hardware und Exportformate auf die Leistung deines Modells auswirken können. Es ist wichtig, dass du deine Modelle einem Benchmarking unterziehst, vor allem wenn du sie auf benutzerdefinierter Hardware oder Edge Devices einsetzen willst. Dieser Prozess stellt sicher, dass dein Modell für die Zielumgebung optimiert ist und die bestmögliche Leistung erbringt.

Schlussfolgerung

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

Vergiss nicht, unsere Community zu erkunden, ihr beizutreten und die bereitgestellten Codeschnipsel in deinen Projekten auszuprobieren. Mit diesen Tools kannst du leistungsstarke Modelle erstellen und sicherstellen, dass sie in jeder Umgebung effizient laufen.

Facebook-LogoTwitter-LogoLinkedIn-LogoKopier-Link-Symbol

Lies mehr in dieser Kategorie

Lass uns gemeinsam die Zukunft
der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens