Modell-Benchmarking mit Ultralytics YOLO
Benchmark-Visualisierung
Browser aktualisieren
Möglicherweise müssen Sie die Seite aktualisieren, um die Diagramme korrekt anzuzeigen, da es möglicherweise Probleme mit Cookies gibt.
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 in einer Reihe von Exportformaten bietet.
Beobachten: Ultralytics Modi Tutorial: Benchmark
Warum ist Benchmarking so wichtig?
- Informierte Entscheidungen: Gewinnen Sie Einblicke in die Abwägung zwischen Geschwindigkeit und Genauigkeit.
- Ressourcenzuweisung: Verstehen Sie, wie verschiedene Exportformate auf unterschiedlicher Hardware funktionieren.
- Optimieren: Erfahren Sie, welches Exportformat die beste Leistung für Ihren speziellen Anwendungsfall bietet.
- Kosteneffizienz: Effizientere Nutzung von Hardwareressourcen auf der Grundlage von Benchmark-Ergebnissen.
Schlüsselmetriken im Benchmark-Modus
- mAP50-95: Für Objekterkennung, Segmentierung und Posenschätzung.
- accuracy_top5: Für die Bildklassifizierung.
- Inferenzzeit: Die für jedes Bild benötigte Zeit in Millisekunden.
Unterstützte Exportformate
- ONNX: Für optimale Leistung CPU
- TensorRT: Für maximale Effizienz GPU
- OpenVINO: Für Intel Hardware-Optimierung
- CoreML, TensorFlow SavedModel , und mehr: Für unterschiedliche Einsatzanforderungen.
Tipp
- Exportieren Sie nach ONNX oder OpenVINO für eine bis zu 3-fache Beschleunigung von CPU .
- Export nach TensorRT für eine bis zu 5-fache Beschleunigung GPU .
Beispiele für die Verwendung
Führen Sie YOLO11n-Benchmarks in allen unterstützten Exportformaten aus, einschließlich ONNX, TensorRT usw. Eine vollständige Liste der Exportargumente finden Sie im Abschnitt Argumente weiter unten.
Beispiel
Argumente
Argumente wie model
, data
, imgsz
, half
, device
und verbose
bieten den Nutzern die Flexibilität, die Benchmarks auf ihre spezifischen Bedürfnisse abzustimmen und die Leistung verschiedener Exportformate problemlos zu vergleichen.
Schlüssel | Standardwert | Beschreibung |
---|---|---|
model |
None |
Gibt den Pfad zur Modelldatei an. Akzeptiert sowohl .pt und .yaml Formate, z.B., "yolo11n.pt" für bereits trainierte Modelle oder Konfigurationsdateien. |
data |
None |
Pfad zu einer YAML-Datei, die den Datensatz für das Benchmarking definiert, typischerweise mit Pfaden und Einstellungen für Validierungsdaten. Beispiel: "coco8.yaml" . |
imgsz |
640 |
Die Größe des Eingabebildes für das Modell. Kann eine einzelne Ganzzahl für quadratische Bilder oder ein Tupel sein (width, height) für nicht quadratisch, z.B., (640, 480) . |
half |
False |
Ermöglicht FP16 (halbpräzise) Inferenz, was den Speicherverbrauch reduziert und möglicherweise die Geschwindigkeit auf kompatibler Hardware erhöht. verwenden half=True zu aktivieren. |
int8 |
False |
Aktiviert die INT8-Quantisierung zur weiteren Optimierung der Leistung auf unterstützten Geräten, besonders nützlich für Edge-Geräte. einstellen int8=True zu verwenden. |
device |
None |
Legt das/die Rechengerät(e) für das Benchmarking fest, z. B. "cpu" oder "cuda:0" . |
verbose |
False |
Steuert den Detaillierungsgrad der Protokollierungsausgabe. Ein boolescher Wert; gesetzt verbose=True für detaillierte Protokolle oder einen Float für Schwellenwertfehler. |
Exportformate
Es wird versucht, die Benchmarks automatisch in allen unten aufgeführten möglichen Exportformaten durchzuführen.
Format | format Argument |
Modell | Metadaten | Argumente |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , batch |
TF Kante TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolov8n_imx_model/ |
✅ | imgsz , int8 |
Vollständig sehen export
Details im Exportieren Seite.
FAQ
Wie kann ich die Leistung meines YOLO11 Modells mit Ultralytics vergleichen?
Ultralytics YOLO11 bietet einen Benchmark-Modus zur Bewertung der Leistung Ihres Modells in verschiedenen Exportformaten. Dieser Modus bietet Einblicke in wichtige Metriken wie die mittlere durchschnittliche Genauigkeit (mAP50-95), die Genauigkeit und die Inferenzzeit in Millisekunden. Zur Durchführung von Benchmarks können Sie entweder die Befehle Python oder CLI verwenden. Um beispielsweise einen Benchmark auf einer GPU durchzuführen:
Beispiel
Weitere Einzelheiten zu den Benchmark-Argumenten finden Sie im Abschnitt Argumente.
Was sind die Vorteile des Exports von YOLO11 Modellen in verschiedene Formate?
Durch den Export von YOLO11 -Modellen in verschiedene Formate wie ONNX, TensorRT und OpenVINO können Sie die Leistung je nach Ihrer Einsatzumgebung optimieren. Zum Beispiel:
- ONNX: Bietet bis zu 3x mehr Geschwindigkeit CPU .
- TensorRT: Bietet bis zu 5x mehr Geschwindigkeit GPU .
- OpenVINO: Speziell optimiert für Intel Hardware. Diese Formate verbessern sowohl die Geschwindigkeit als auch die Genauigkeit Ihrer Modelle und machen sie für verschiedene reale Anwendungen effizienter. Besuchen Sie die Seite Export für weitere Informationen.
Warum ist Benchmarking bei der Bewertung von YOLO11 Modellen so wichtig?
Das Benchmarking Ihrer YOLO11 Modelle ist aus mehreren Gründen wichtig:
- Fundierte Entscheidungen: Verstehen Sie die Abwägung zwischen Geschwindigkeit und Genauigkeit.
- Ressourcen-Zuweisung: Messen Sie die Leistung der verschiedenen Hardware-Optionen.
- Optimieren: Bestimmen Sie, welches Exportformat die beste Leistung für bestimmte Anwendungsfälle bietet.
- Kosteneffizienz: Optimieren Sie die Hardware-Nutzung auf der Grundlage von Benchmark-Ergebnissen. Schlüsselmetriken wie mAP50-95, Top-5-Genauigkeit und Inferenzzeit helfen bei diesen Bewertungen. Weitere Informationen finden Sie im Abschnitt Schlüsselmetriken.
Welche Exportformate werden von YOLO11 unterstützt, und welche Vorteile haben sie?
YOLO11 unterstützt eine Vielzahl von Exportformaten, die jeweils auf bestimmte 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 zur Feinabstimmung meiner YOLO11 Benchmarks verwenden?
Bei der Durchführung von Benchmarks können mehrere Argumente an die jeweiligen Bedürfnisse angepasst werden:
- Modell: Pfad zur Modelldatei (z. B. "yolo11n.pt").
- Daten: Pfad zu einer YAML-Datei, die den Datensatz definiert (z. B. "coco8.yaml").
- imgsz: Die Größe des Eingabebildes, entweder als einzelne Ganzzahl oder als Tupel.
- halb: Aktivieren Sie FP16-Inferenz für bessere Leistung.
- int8: Aktiviert die INT8-Quantisierung für Edge-Geräte.
- Gerät: Geben Sie das Berechnungsgerät an (z. B. "cpu", "cuda:0").
- Ausführlich: Steuert den Detaillierungsgrad der Protokollierung. Eine vollständige Liste der Argumente finden Sie im Abschnitt Argumente.