Meet YOLO26: next-gen vision AI.

Link to this sectionONNX-Export für YOLO26-Modelle#

~43 % schnellere Inferenz.
  • Der Export des Ultralytics YOLO26-Modells nach ONNX kann eine bis zu 43-prozentige Steigerung der Inferenzgeschwindigkeit bieten, was eine schnellere und effizientere Bereitstellung ermöglicht.

Bei der Bereitstellung von Computer Vision-Modellen benötigst du oft ein Modellformat, das sowohl flexibel als auch mit mehreren Plattformen kompatibel ist.

Der Export von Ultralytics YOLO26-Modellen in das ONNX-Format rationalisiert die Bereitstellung und gewährleistet eine optimale Leistung in verschiedenen Umgebungen. Dieser Leitfaden zeigt dir, wie du deine YOLO26-Modelle einfach in ONNX konvertieren und ihre Skalierbarkeit sowie Effektivität in realen Anwendungen verbessern kannst.



Watch: Ultralytics YOLO26 vs Ultralytics YOLO11 ONNX Inference Test | ~43% Faster Inference with YOLO26 🚀

Link to this sectionONNX und ONNX Runtime#

ONNX, was für Open Neural Network Exchange steht, ist ein Community-Projekt, das ursprünglich von Facebook und Microsoft entwickelt wurde. Die fortlaufende Entwicklung von ONNX ist eine gemeinschaftliche Anstrengung, die von verschiedenen Organisationen wie IBM, Amazon (über AWS) und Google unterstützt wird. Das Projekt zielt darauf ab, ein offenes Dateiformat zu schaffen, das Machine Learning-Modelle so darstellt, dass sie über verschiedene KI-Frameworks und Hardware hinweg verwendet werden können.

ONNX-Modelle können verwendet werden, um nahtlos zwischen verschiedenen Frameworks zu wechseln. Ein in PyTorch trainiertes Deep Learning-Modell kann beispielsweise in das ONNX-Format exportiert und dann einfach in TensorFlow importiert werden.

ONNX model portability across deep learning frameworks

Alternativ können ONNX-Modelle mit ONNX Runtime verwendet werden. ONNX Runtime ist ein vielseitiger, plattformübergreifender Beschleuniger für Machine-Learning-Modelle, der mit Frameworks wie PyTorch, TensorFlow, TFLite, scikit-learn usw. kompatibel ist.

ONNX Runtime optimiert die Ausführung von ONNX-Modellen durch die Nutzung hardwarespezifischer Funktionen. Diese Optimierung ermöglicht es den Modellen, effizient und mit hoher Leistung auf verschiedenen Hardwareplattformen zu laufen, einschließlich CPUs, GPUs und spezialisierten Beschleunigern.

ONNX Runtime cross-platform inference acceleration

Ob unabhängig oder in Verbindung mit ONNX Runtime verwendet, bietet ONNX eine flexible Lösung für Model Deployment und Kompatibilität beim Machine Learning.

Link to this sectionHauptmerkmale von ONNX-Modellen#

Die Fähigkeit von ONNX, verschiedene Formate zu verarbeiten, ist auf die folgenden Hauptmerkmale zurückzuführen:

  • Allgemeine Modelldarstellung: ONNX definiert eine gemeinsame Menge an Operatoren (wie Konvolutionen, Layer usw.) und ein Standarddatenformat. Wenn ein Modell in das ONNX-Format konvertiert wird, werden seine Architektur und seine Gewichte in diese gemeinsame Darstellung übersetzt. Diese Einheitlichkeit stellt sicher, dass das Modell von jedem Framework verstanden werden kann, das ONNX unterstützt.

  • Versionierung und Abwärtskompatibilität: ONNX unterhält ein Versionierungssystem für seine Operatoren. Dies stellt sicher, dass Modelle, die in älteren Versionen erstellt wurden, auch bei Weiterentwicklung des Standards nutzbar bleiben. Abwärtskompatibilität ist ein entscheidendes Merkmal, das verhindert, dass Modelle schnell veralten.

  • Graphbasierte Modelldarstellung: ONNX stellt Modelle als Berechnungsgraphen dar. Diese graphbasierte Struktur ist eine universelle Methode zur Darstellung von Machine-Learning-Modellen, bei der Knoten Operationen oder Berechnungen darstellen und Kanten die Tensoren repräsentieren, die zwischen ihnen fließen. Dieses Format ist leicht an verschiedene Frameworks anpassbar, die Modelle ebenfalls als Graphen darstellen.

  • Tools und Ökosystem: Es gibt ein reichhaltiges Ökosystem an Tools rund um ONNX, die bei der Modellkonvertierung, Visualisierung und Optimierung helfen. Diese Tools erleichtern es Entwicklern, mit ONNX-Modellen zu arbeiten und Modelle nahtlos zwischen verschiedenen Frameworks zu konvertieren.

Link to this sectionHäufige Verwendung von ONNX#

Bevor wir uns ansehen, wie du YOLO26-Modelle in das ONNX-Format exportierst, werfen wir einen Blick darauf, wo ONNX-Modelle üblicherweise eingesetzt werden.

Link to this sectionCPU-Bereitstellung#

ONNX-Modelle werden aufgrund ihrer Kompatibilität mit ONNX Runtime häufig auf CPUs bereitgestellt. Diese Runtime ist für die CPU-Ausführung optimiert. Sie verbessert die Inferenzgeschwindigkeit erheblich und macht CPU-Bereitstellungen in Echtzeit machbar.

Link to this sectionUnterstützte Bereitstellungsoptionen#

Obwohl ONNX-Modelle häufig auf CPUs verwendet werden, können sie auch auf den folgenden Plattformen bereitgestellt werden:

  • GPU-Beschleunigung: ONNX unterstützt vollständig die GPU-Beschleunigung, insbesondere NVIDIA CUDA. Dies ermöglicht eine effiziente Ausführung auf NVIDIA-GPUs für Aufgaben, die eine hohe Rechenleistung erfordern.

  • Edge- und Mobilgeräte: ONNX erstreckt sich auf Edge- und Mobilgeräte, perfekt für Szenarien mit On-Device- und Echtzeit-Inferenz. Es ist leichtgewichtig, kompatibel mit Edge-Hardware und dient als Basis für herstellerspezifische NPU-Formate wie Qualcomm QNN für Snapdragon-Geräte und RKNN für Rockchip-NPUs.

  • Webbrowser: ONNX kann direkt in Webbrowsern ausgeführt werden und treibt interaktive sowie dynamische webbasierte KI-Anwendungen an.

Link to this sectionExportieren von YOLO26-Modellen nach ONNX#

Du kannst die Modellkompatibilität und Bereitstellungsflexibilität erweitern, indem du YOLO26-Modelle in das ONNX-Format konvertierst. Ultralytics YOLO26 bietet einen unkomplizierten Exportprozess, der die Leistung deines Modells auf verschiedenen Plattformen erheblich steigern kann.

Link to this sectionInstallation#

Um das erforderliche Paket zu installieren, führe aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Für detaillierte Anweisungen und Best Practices zum Installationsprozess sieh dir unseren YOLO26-Installationsleitfaden an. Falls du während der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stößt, konsultiere unseren Leitfaden zu häufigen Problemen für Lösungen und Tipps.

Link to this sectionVerwendung#

Bevor du in die Anweisungen zur Verwendung eintauchst, schaue dir unbedingt die Reihe der von Ultralytics angebotenen YOLO26-Modelle an. Dies hilft dir bei der Auswahl des für deine Projektanforderungen am besten geeigneten Modells.

Das ONNX-Format unterstützt die Modi Export, Predict und Validate. Exportiere dein Modell und lade dann das exportierte Modell, um Inferenz auszuführen oder seine Genauigkeit zu validieren.

Exportieren
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolo26n.onnx'

# Export an INT8-quantized ONNX model with calibration data
model.export(format="onnx", int8=True, data="coco8.yaml")  # creates 'yolo26n_int8.onnx'
Vorhersage
from ultralytics import YOLO

# Load the exported ONNX model
model = YOLO("yolo26n.onnx")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validieren
from ultralytics import YOLO

# Load the exported ONNX model
model = YOLO("yolo26n.onnx")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionExport-Argumente#

Beim Export deines YOLO26-Modells in das ONNX-Format kannst du den Prozess mithilfe verschiedener Argumente anpassen, um ihn für deine spezifischen Bereitstellungsanforderungen zu optimieren:

ArgumentTypStandardBeschreibung
formatstr'onnx'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für spezifische Abmessungen sein.
halfboolFalseAktiviert die FP16-Quantisierung (Halbpräzision), reduziert die Modellgröße und beschleunigt möglicherweise die Inferenz auf unterstützter Hardware.
int8boolFalseAktiviert die statische INT8-Quantisierung mit ONNX Runtime unter Verwendung von Kalibrierungsbildern aus data, was ein _int8.onnx-Modell erzeugt.
datastrNoneDataset-YAML, das für die INT8-Kalibrierung verwendet wird. Wenn bei int8=True weggelassen, wählt Ultralytics das Standard-Kalibrierungs-Dataset für die Modellaufgabe.
fractionfloat1.0Anteil der Kalibrierungsbilder, die für die INT8-Quantisierung verwendet werden sollen.
dynamicboolFalseErmöglicht dynamische Eingabegrößen, was die Flexibilität bei der Handhabung variierender Bildabmessungen erhöht.
simplifyboolTrueVereinfacht den Modellgraphen mit onnxslim, was die Leistung und Kompatibilität potenziell verbessert.
opsetintNoneGibt die ONNX-Opset-Version für die Kompatibilität mit verschiedenen ONNX-Parsern und Runtimes an. Wenn nicht festgelegt, wird die neueste unterstützte Version verwendet.
nmsboolFalseFügt Non-Maximum Suppression (NMS) hinzu, was für eine genaue und effiziente Erkennungs-Nachverarbeitung unerlässlich ist.
batchint1Gibt die Batch-Inferenzgröße für das Exportmodell oder die maximale Anzahl von Bildern an, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet.
devicestrNoneGibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu), MPS für Apple Silicon (device=mps).

Für weitere Details zum Exportprozess besuche die Ultralytics-Dokumentationsseite zum Exportieren.

Link to this sectionBereitstellung exportierter YOLO26-ONNX-Modelle#

Sobald du deine Ultralytics YOLO26-Modelle erfolgreich in das ONNX-Format exportiert hast, ist der nächste Schritt die Bereitstellung dieser Modelle in verschiedenen Umgebungen. Für detaillierte Anweisungen zur Bereitstellung deiner ONNX-Modelle sieh dir die folgenden Ressourcen an:

  • ONNX Runtime Python API-Dokumentation: Dieser Leitfaden bietet wesentliche Informationen zum Laden und Ausführen von ONNX-Modellen mit ONNX Runtime.

  • Bereitstellung auf Edge-Geräten: Sieh dir diese Dokumentationsseite für verschiedene Beispiele zur Bereitstellung von ONNX-Modellen auf Edge-Geräten an.

  • ONNX-Tutorials auf GitHub: Eine Sammlung umfassender Tutorials, die verschiedene Aspekte der Verwendung und Implementierung von ONNX-Modellen in unterschiedlichen Szenarien abdecken.

  • Triton Inference Server: Erfahre, wie du deine ONNX-Modelle mit dem Triton Inference Server von NVIDIA für hochleistungsfähige, skalierbare Bereitstellungen einsetzt.

Link to this sectionZusammenfassung#

In diesem Leitfaden hast du gelernt, wie du Ultralytics YOLO26-Modelle in das ONNX-Format exportierst, um ihre Interoperabilität und Leistung auf verschiedenen Plattformen zu erhöhen. Du wurdest außerdem in ONNX Runtime und ONNX-Bereitstellungsoptionen eingeführt.

Der ONNX-Export ist nur eines von vielen Exportformaten, die von Ultralytics YOLO26 unterstützt werden, was es dir ermöglicht, deine Modelle in praktisch jeder Umgebung bereitzustellen. Je nach deinen spezifischen Anforderungen möchtest du möglicherweise auch andere Exportoptionen wie TensorRT für maximale GPU-Leistung oder CoreML für Apple-Geräte erkunden.

Für weitere Details zur Verwendung besuche die offizielle ONNX-Dokumentation.

Wenn du außerdem mehr über andere Ultralytics YOLO26-Integrationen erfahren möchtest, besuche unsere Seite mit Integrationsleitfäden. Dort findest du viele nützliche Ressourcen und Einblicke.

Link to this sectionFAQ#

Link to this sectionWie exportiere ich YOLO26-Modelle mit Ultralytics in das ONNX-Format?#

Um deine YOLO26-Modelle mit Ultralytics in das ONNX-Format zu exportieren, befolge diese Schritte:

Verwendung
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolo26n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolo26n.onnx")

# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")

Für weitere Details besuche die Export-Dokumentation.

Link to this sectionWelche Vorteile bietet die Verwendung von ONNX Runtime für die Bereitstellung von YOLO26-Modellen?#

Die Verwendung von ONNX Runtime für die Bereitstellung von YOLO26-Modellen bietet mehrere Vorteile:

  • Plattformübergreifende Kompatibilität: ONNX Runtime unterstützt verschiedene Plattformen wie Windows, macOS und Linux und stellt sicher, dass deine Modelle reibungslos in verschiedenen Umgebungen laufen.
  • Hardwarebeschleunigung: ONNX Runtime kann hardwarespezifische Optimierungen für CPUs, GPUs und dedizierte Beschleuniger nutzen und so eine leistungsstarke Inferenz bieten.
  • Framework-Interoperabilität: Modelle, die in gängigen Frameworks wie PyTorch oder TensorFlow trainiert wurden, können einfach in das ONNX-Format konvertiert und mit ONNX Runtime ausgeführt werden.
  • Leistungsoptimierung: ONNX Runtime kann eine bis zu dreifache CPU-Beschleunigung im Vergleich zu nativen PyTorch-Modellen bieten, was sie ideal für Bereitstellungsszenarien macht, in denen GPU-Ressourcen begrenzt sind.

Erfahre mehr, indem du die ONNX Runtime-Dokumentation liest.

Link to this sectionWelche Bereitstellungsoptionen gibt es für YOLO26-Modelle, die nach ONNX exportiert wurden?#

YOLO26-Modelle, die nach ONNX exportiert wurden, können auf verschiedenen Plattformen bereitgestellt werden, darunter:

  • CPUs: Nutzung von ONNX Runtime für optimierte CPU-Inferenz.
  • GPUs: Nutzung von NVIDIA CUDA für hochleistungsfähige GPU-Beschleunigung.
  • Edge-Geräte: Ausführung leichtgewichtiger Modelle auf Edge- und Mobilgeräten für Echtzeit-On-Device-Inferenz.
  • Webbrowser: Ausführung von Modellen direkt in Webbrowsern für interaktive webbasierte Anwendungen.
  • Cloud-Dienste: Bereitstellung auf Cloud-Plattformen, die das ONNX-Format für skalierbare Inferenz unterstützen.

Für weitere Informationen erkunde unseren Leitfaden zu Optionen für das Model Deployment.

Link to this sectionWarum sollte ich das ONNX-Format für Ultralytics YOLO26-Modelle verwenden?#

Die Verwendung des ONNX-Formats für Ultralytics YOLO26-Modelle bietet zahlreiche Vorteile:

  • Interoperabilität: ONNX ermöglicht die nahtlose Übertragung von Modellen zwischen verschiedenen Machine-Learning-Frameworks.
  • Leistungsoptimierung: ONNX Runtime kann die Modellleistung durch die Nutzung hardwarespezifischer Optimierungen verbessern.
  • Flexibilität: ONNX unterstützt verschiedene Bereitstellungsumgebungen, sodass du dasselbe Modell ohne Modifikationen auf verschiedenen Plattformen verwenden kannst.
  • Standardisierung: ONNX bietet ein standardisiertes Format, das branchenweit weitgehend unterstützt wird und eine langfristige Kompatibilität gewährleistet.

Beziehe dich auf den umfassenden Leitfaden zum Exportieren von YOLO26-Modellen nach ONNX.

Link to this sectionWie kann ich Probleme bei der Fehlerbehebung beim Export von YOLO26-Modellen nach ONNX lösen?#

Beim Export von YOLO26-Modellen nach ONNX können allgemeine Probleme wie nicht übereinstimmende Abhängigkeiten oder nicht unterstützte Operationen auftreten. Zur Fehlerbehebung bei diesen Problemen:

  1. Überprüfe, ob die korrekte Version der erforderlichen Abhängigkeiten installiert ist.
  2. Prüfe die offizielle ONNX-Dokumentation auf unterstützte Operatoren und Funktionen.
  3. Überprüfe die Fehlermeldungen auf Hinweise und konsultiere den Leitfaden zu häufigen Problemen von Ultralytics.
  4. Versuche es mit anderen Export-Argumenten wie simplify=True oder passe die opset-Version an.
  5. Setze bei Problemen mit der dynamischen Eingabegröße während des Exports dynamic=True.

Wenn die Probleme weiterhin bestehen, kontaktiere den Ultralytics-Support für weitere Unterstützung.

Kommentare