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 in allen unterstützten Exportformaten ausONNX, TensorRT, etc.). Siehe den Abschnitt Argumente weiter unten für eine vollständige Liste der Exportoptionen.

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üsselStandardwertBeschreibung
modelNoneGibt den Pfad zur Modelldatei an. Akzeptiert beide .pt und .yaml Formate, z. B. "yolo11n.pt" für vortrainierte Modelle oder Konfigurationsdateien.
dataNonePfad zu einer YAML-Datei, die den Datensatz für das Benchmarking definiert und typischerweise Pfade und Einstellungen für Validierungsdaten. Beispiel: "coco8.yaml".
imgsz640Die 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).
halfFalseAktiviert 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.
int8FalseAktiviert 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.
deviceNoneDefiniert die(das) Rechengerät(e) für das Benchmarking, wie z.B. "cpu" oder "cuda:0".
verboseFalseSteuert den Detaillierungsgrad der Protokollausgabe. Setzen Sie verbose=True für detaillierte Protokolle.
format''Benchmarks nur für das angegebene Exportformat (z. B., format=onnx). Lassen Sie das Feld leer, um jedes unterstützte Format automatisch zu testen.

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.

Formatformat ArgumentModellMetadatenArgumente
PyTorch-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo11n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo11n.pbimgsz, batch, device
TF Litetfliteyolo11n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo11n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo11n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch, device
MNNmnnyolo11n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo11n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo11n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo11n_executorch_model/imgsz, 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.



📅 Erstellt vor 2 Jahren ✏️ Aktualisiert vor 3 Tagen
glenn-jocherBurhan-Qambitious-octopuslakshanthadRizwanMunawarY-T-GUltralyticsAssistantjk4eMatthewNoyceLaughing-q

Kommentare