Zum Inhalt springen

Modell-Benchmarking mit Ultralytics YOLO

Ultralytics YOLO Ökosystem und Integrationen

Benchmark-Visualisierung

Browser aktualisieren

Möglicherweise müssen Sie die Seite aktualisieren, um die Diagramme aufgrund potenzieller Cookie-Probleme korrekt anzuzeigen.

Einführung

Sobald Ihr Modell trainiert und validiert ist, besteht der nächste logische Schritt darin, seine Leistung in verschiedenen realen Szenarien zu bewerten. Der Benchmark-Modus in Ultralytics YOLO11 dient diesem Zweck, indem er einen robusten Rahmen für die Bewertung der Geschwindigkeit und Genauigkeit Ihres Modells über eine Reihe von Exportformaten hinweg bietet.



Ansehen: Benchmark Ultralytics YOLO11 Modelle | Wie vergleicht man die Modellleistung auf verschiedener Hardware?

Warum ist Benchmarking entscheidend?

  • Fundierte Entscheidungen: Gewinnen Sie Einblicke in die Kompromisse zwischen Geschwindigkeit und Genauigkeit.
  • Ressourcenallokation: Verstehen Sie, wie verschiedene Exportformate auf unterschiedlicher Hardware funktionieren.
  • Optimierung: Finden Sie heraus, welches Exportformat die beste Leistung für Ihren spezifischen Anwendungsfall bietet.
  • Kosteneffizienz: Nutzen Sie Hardware-Ressourcen effizienter auf der Grundlage von Benchmark-Ergebnissen.

Schlüsselmetriken im Benchmark-Modus

  • mAP50-95: Für Objekterkennung, Segmentierung und Pose-Schätzung.
  • accuracy_top5: Für Bildklassifizierung.
  • Inferenzzeit: Zeit, die für jedes Bild in Millisekunden benötigt wird.

Unterstützte Exportformate

  • ONNX: Für optimale CPU-Leistung
  • TensorRT: Für maximale GPU-Effizienz
  • OpenVINO: Für die Optimierung der Intel-Hardware
  • CoreML, TensorFlow SavedModel und mehr: Für vielfältige Bereitstellungsanforderungen.

Tipp

  • Exportieren Sie nach ONNX oder OpenVINO für bis zu 3x CPU-Beschleunigung.
  • Exportieren Sie nach TensorRT für bis zu 5x GPU-Beschleunigung.

Anwendungsbeispiele

Führen Sie YOLO11n-Benchmarks für alle unterstützten Exportformate einschließlich ONNX, TensorRT usw. aus. Eine vollständige Liste der Exportargumente finden Sie im Abschnitt Argumente weiter unten.

Beispiel

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 format=onnx

Argumente

Argumente wie model, data, imgsz, half, device, verbose und format geben Benutzern die Flexibilität, die Benchmarks an ihre spezifischen Bedürfnisse anzupassen und die Leistung verschiedener Exportformate problemlos zu vergleichen.

Schlüssel Standardwert Beschreibung
model None Gibt den Pfad zur Modelldatei an. Akzeptiert beide .pt und .yaml Formate, z. B. "yolo11n.pt" für vortrainierte Modelle oder Konfigurationsdateien.
data None Pfad zu einer YAML-Datei, die den Datensatz für das Benchmarking definiert und typischerweise Pfade und Einstellungen für Validierungsdaten. Beispiel: "coco8.yaml".
imgsz 640 Die Eingabebildgröße für das Modell. Kann eine einzelne ganze Zahl für quadratische Bilder oder ein Tupel sein (width, height) für nicht-quadratische Bilder, z.B. (640, 480).
half False Aktiviert die FP16-Inferenz (Halbpräzision), wodurch der Speicherverbrauch reduziert und möglicherweise die Geschwindigkeit auf kompatibler Hardware erhöht wird. Verwenden Sie half=True zum Aktivieren.
int8 False Aktiviert die INT8-Quantisierung für eine weiter optimierte Leistung auf unterstützten Geräten, besonders nützlich für Edge-Geräte. Setzen Sie int8=True zur Verwendung.
device None Definiert die(das) Rechengerät(e) für das Benchmarking, wie z.B. "cpu" oder "cuda:0".
verbose False Steuert den Detaillierungsgrad der Protokollausgabe. Setzen Sie verbose=True für detaillierte Protokolle.
format '' Führen Sie einen Benchmark des Modells in einem einzelnen Exportformat durch, z. B. format=onnx

Exportformate

Benchmarks werden automatisch für alle unten aufgeführten möglichen Exportformate ausgeführt. Alternativ können Sie Benchmarks für ein bestimmtes Format ausführen, indem Sie die folgende Option verwenden: format Argument, das alle unten genannten Formate akzeptiert.

Format format Argument Modell Metadaten Argumente
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, device

Vollständige export Details auf der Export Seite.

FAQ

Wie kann ich die Leistung meines YOLO11-Modells mit Ultralytics benchmarken?

Ultralytics YOLO11 bietet einen Benchmark-Modus zur Bewertung der Leistung Ihres Modells in verschiedenen Exportformaten. Dieser Modus bietet Einblicke in wichtige Metriken wie Mean Average Precision (mAP50-95), Genauigkeit und Inferenzzeit in Millisekunden. Um Benchmarks auszuführen, können Sie entweder Python- oder CLI-Befehle verwenden. Zum Beispiel, um einen Benchmark auf einer GPU durchzuführen:

Beispiel

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

Weitere Informationen zu den Benchmark-Argumenten finden Sie im Abschnitt Argumente.

Welche Vorteile bietet das Exportieren von YOLO11-Modellen in verschiedene Formate?

Das Exportieren von YOLO11-Modellen in verschiedene Formate wie ONNX, TensorRT und OpenVINO ermöglicht es Ihnen, die Leistung basierend auf Ihrer Bereitstellungsumgebung zu optimieren. Zum Beispiel:

  • ONNX: Bietet bis zu 3x CPU-Beschleunigung.
  • TensorRT: Bietet bis zu 5x GPU-Beschleunigung.
  • OpenVINO: Speziell für Intel-Hardware optimiert.

Diese Formate verbessern sowohl die Geschwindigkeit als auch die Genauigkeit Ihrer Modelle und machen sie effizienter für verschiedene reale Anwendungen. Besuchen Sie die Seite Export für vollständige Details.

Warum ist Benchmarking bei der Bewertung von YOLO11-Modellen so wichtig?

Das Benchmarking Ihrer YOLO11-Modelle ist aus mehreren Gründen unerlässlich:

  • Fundierte Entscheidungen: Verstehen Sie die Kompromisse zwischen Geschwindigkeit und Genauigkeit.
  • Ressourcenzuweisung: Messen Sie die Leistung über verschiedene Hardwareoptionen hinweg.
  • Optimierung: Bestimmen Sie, welches Exportformat die beste Leistung für bestimmte Anwendungsfälle bietet.
  • Kosteneffizienz: Optimieren Sie die Hardware-Nutzung basierend auf den Benchmark-Ergebnissen.

Wichtige Metriken wie mAP50-95, Top-5-Genauigkeit und Inferenzzeit helfen bei diesen Bewertungen. Weitere Informationen finden Sie im Abschnitt Wichtige Metriken.

Welche Exportformate werden von YOLO11 unterstützt und welche Vorteile bieten sie?

YOLO11 unterstützt eine Vielzahl von Exportformaten, die jeweils auf spezifische Hardware und Anwendungsfälle zugeschnitten sind:

  • ONNX: Am besten für CPU-Leistung.
  • TensorRT: Ideal für GPU-Effizienz.
  • OpenVINO: Optimiert für Intel-Hardware.
  • CoreML & TensorFlow: Nützlich für iOS- und allgemeine ML-Anwendungen.

Eine vollständige Liste der unterstützten Formate und ihrer jeweiligen Vorteile finden Sie im Abschnitt Unterstützte Exportformate.

Welche Argumente kann ich verwenden, um meine YOLO11-Benchmarks zu optimieren?

Beim Ausführen von Benchmarks können verschiedene Argumente angepasst werden, um spezifischen Anforderungen gerecht zu werden:

  • model: Pfad zur Modelldatei (z.B. "yolo11n.pt").
  • data: Pfad zu einer YAML-Datei, die den Datensatz definiert (z.B. "coco8.yaml").
  • imgsz: Die Eingabebildgröße, entweder als einzelne ganze Zahl oder als Tupel.
  • half: Aktivieren Sie die FP16-Inferenz für eine bessere Leistung.
  • int8: Aktivieren Sie die INT8-Quantisierung für Edge-Geräte.
  • device: Geben Sie das Rechengerät an (z. B. "cpu", "cuda:0").
  • verbose: Steuert den Detaillierungsgrad der Protokollierung.

Eine vollständige Liste der Argumente finden Sie im Abschnitt Argumente.



📅 Vor 1 Jahr erstellt ✏️ Vor 3 Monaten aktualisiert

Kommentare