YOLO Vision 2026:

YOLO26 Modell-Export nach TorchScript für schnelle Bereitstellung#

PyTorch stellt TorchScript ein

PyTorch hat TorchScript als veraltet eingestuft und entfernt schrittweise dessen Funktionen. Verwende für neue Mobile- und Edge-Deployments die unterstützte ExecuTorch-Integration. Ultralytics behält den regulären TorchScript-Export für die Abwärtskompatibilität mit C++ bei.

Das Bereitstellen von Computer Vision-Modellen in C++-Umgebungen ohne Python erfordert eine tragbare, serialisierte Repräsentation. TorchScript bietet diese Kompatibilität für ältere LibTorch-Anwendungen.

Exportiere nach TorchScript, um deine Ultralytics YOLO26-Modelle für plattformübergreifende Kompatibilität und ein optimiertes Deployment zu serialisieren. In dieser Anleitung zeigen wir dir, wie du deine YOLO26-Modelle in das TorchScript-Format exportierst, damit du sie in einer größeren Bandbreite von Anwendungen einfacher einsetzen kannst.

Warum solltest du nach TorchScript exportieren?#

TorchScript model serialization and deployment workflow overview

TorchScript wurde von den Entwicklern von PyTorch entwickelt und ist ein leistungsstarkes Werkzeug zur Optimierung und Bereitstellung von PyTorch-Modellen auf verschiedenen Plattformen. Das Exportieren von YOLO26-Modellen nach TorchScript ist entscheidend für den Übergang von der Forschung zu realen Anwendungen. TorchScript ist Teil des PyTorch-Frameworks und erleichtert diesen Übergang, indem es die Nutzung von PyTorch-Modellen in Umgebungen ermöglicht, die kein Python unterstützen.

Der Prozess umfasst zwei Techniken: Tracing und Scripting. Tracing zeichnet Operationen während der Modellausführung auf, während Scripting die Definition von Modellen mithilfe einer Teilmenge von Python ermöglicht. Diese Techniken stellen sicher, dass Modelle wie YOLO26 ihre Magie auch außerhalb ihrer gewohnten Python-Umgebung entfalten können.

TorchScript scripting vs tracing comparison

TorchScript-Modelle können auch durch Techniken wie Operator-Fusion und Optimierungen bei der Speichernutzung verbessert werden, um eine effiziente Ausführung zu gewährleisten. Ein weiterer Vorteil des Exports nach TorchScript ist das Potenzial, die Modellausführung über verschiedene Hardwareplattformen hinweg zu beschleunigen. Es erstellt eine eigenständige, produktionsbereite Repräsentation deines PyTorch-Modells, die in C++-Umgebungen integriert werden kann.

Hauptfunktionen von TorchScript-Modellen#

TorchScript ist ein zentraler Bestandteil des PyTorch-Ökosystems und bietet leistungsstarke Funktionen zur Optimierung und Bereitstellung von Deep Learning-Modellen.

TorchScript key features overview

Hier sind die wichtigsten Funktionen, die TorchScript zu einem wertvollen Werkzeug für Entwickler machen:

  • Statische Graph-Ausführung: TorchScript verwendet eine statische Graph-Repräsentation der Berechnung des Modells, was sich von der dynamischen Graph-Ausführung von PyTorch unterscheidet. Bei der statischen Graph-Ausführung wird der Berechnungsgraph definiert und einmal vor der tatsächlichen Ausführung kompiliert, was zu einer verbesserten Leistung während der Inferenz führt.

  • Modell-Serialisierung: TorchScript ermöglicht es dir, PyTorch-Modelle in ein plattformunabhängiges Format zu serialisieren. Serialisierte Modelle können geladen werden, ohne dass der ursprüngliche Python-Code erforderlich ist, was die Bereitstellung in verschiedenen Laufzeitumgebungen ermöglicht.

  • JIT-Kompilierung: TorchScript verwendet Just-In-Time (JIT) Kompilierung, um PyTorch-Modelle in eine optimierte Zwischenrepräsentation zu konvertieren. JIT kompiliert den Berechnungsgraph des Modells, was eine effiziente Ausführung auf Zielgeräten ermöglicht.

  • Schrittweise Konvertierung: TorchScript bietet einen Ansatz für eine schrittweise Konvertierung, der es dir ermöglicht, Teile deines PyTorch-Modells inkrementell in TorchScript zu konvertieren. Diese Flexibilität ist besonders nützlich bei komplexen Modellen oder wenn du bestimmte Teile des Codes optimieren möchtest.

Bereitstellungsoptionen in TorchScript#

Bevor wir uns den Code für den Export von YOLO26-Modellen in das TorchScript-Format ansehen, lass uns verstehen, wo TorchScript-Modelle normalerweise verwendet werden.

TorchScript bietet verschiedene Deployment-Optionen für Machine Learning-Modelle, wie zum Beispiel:

  • C++ API: Der häufigste Anwendungsfall für TorchScript ist die LibTorch C++ API, mit der du optimierte TorchScript-Modelle direkt in C++-Anwendungen laden und ausführen kannst. Dies ist ideal für Produktionsumgebungen, in denen Python möglicherweise nicht geeignet oder verfügbar ist. Die C++ API bietet eine ressourcenschonende und effiziente Ausführung von TorchScript-Modellen und maximiert das Leistungspotenzial.

  • Mobiles Deployment: Verwende für latenzarme Offline-Inferenz und Datenschutz auf Mobilgeräten ExecuTorch, den Nachfolger von TorchScript Mobile in PyTorch.

  • Cloud-Bereitstellung: TorchScript-Modelle können mithilfe von Lösungen wie TorchServe auf cloudbasierten Servern bereitgestellt werden. Es bietet Funktionen wie Modellversionierung, Batching und Metriküberwachung für eine skalierbare Bereitstellung in Produktionsumgebungen. Die Cloud-Bereitstellung mit TorchScript kann deine Modelle über APIs oder andere Webdienste zugänglich machen.

Unterstützte Aufgaben#

Der TorchScript-Export unterstützt alle sieben Ultralytics-Aufgaben. Semantische Segmentierung und Tiefenschätzung sind nur mit YOLO26 verfügbar, der einzigen Familie, die diese Heads bereitstellt.

AufgabeYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Export nach TorchScript: Konvertierung deines YOLO26-Modells#

Der Export von YOLO26-Modellen nach TorchScript macht es einfacher, sie an verschiedenen Orten zu verwenden, und trägt dazu bei, dass sie schneller und effizienter laufen. Dies ist großartig für jeden, der Deep-Learning-Modelle effektiver in realen Anwendungen einsetzen möchte.

Installation#

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

Installation
# Install the required package for YOLO26
pip install ultralytics

Detaillierte Anweisungen und bewährte Methoden zum Installationsprozess findest du in unserer Ultralytics-Installationsanleitung. Wenn während der Installation der erforderlichen Pakete für YOLO26 Schwierigkeiten auftreten, findest du in unserem Leitfaden zu häufigen Problemen Lösungen und Tipps.

Verwendung#

Alle Ultralytics YOLO26 models sind so konzipiert, dass sie den Export von Haus aus unterstützen, sodass du sie mühelos in deinen bevorzugten Bereitstellungsworkflow integrieren kannst. Du kannst the full list of supported export formats and configuration options einsehen, um das beste Setup für deine Anwendung auszuwählen.

Das TorchScript-Format unterstützt die Modi Export, Predict und Validate. Exportiere dein Modell und lade es anschließend, 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 TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'
Vorhersagen
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

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

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

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

Export-Argumente#

ArgumentTypStandardBeschreibung
formatstr'torchscript'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für die Modelleingabe. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein.
dynamicboolFalseErmöglicht dynamische Eingabegrößen, was die Flexibilität bei der Verarbeitung variierender Bilddimensionen erhöht.
quantizeint oder strNoneQuantisierungsgenauigkeit: 16 (FP16) erfordert einen GPU-Export mit device=0; 32/nicht gesetzt ist FP32. Ersetzt das als veraltet eingestufte Flag half.
nmsboolFalseFügt Non-Maximum Suppression (NMS) hinzu, was für eine genaue und effiziente Detektions-Nachbearbeitung unerlässlich ist.
batchint1Legt die Batch-Inferenzgröße des exportierten Modells fest oder die maximale Anzahl an Bildern, die das exportierte Modell im Modus predict gleichzeitig verarbeitet.
devicestrNoneGibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu), MPS für Apple Silicon (device=mps).

Weitere Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Exportieren.

Bereitstellung exportierter YOLO26 TorchScript-Modelle#

Nachdem du deine Ultralytics YOLO26-Modelle erfolgreich in das TorchScript-Format exportiert hast, kannst du sie bereitstellen. Der primäre und empfohlene erste Schritt zur Ausführung eines TorchScript-Modells ist die Verwendung der Methode YOLO("model.torchscript"), wie im vorherigen Code-Snippet zur Verwendung beschrieben. Detaillierte Anweisungen zur Bereitstellung deiner TorchScript-Modelle in anderen Umgebungen findest du in den folgenden Ressourcen:

  • Mobiles Deployment erkunden: Verwende die separate ExecuTorch-Pipeline torch.export().pte für das aktuelle PyTorch-Deployment auf Mobilgeräten.

  • Server-seitiges Deployment meistern: Lerne, wie du Modelle server-seitig mit TorchServe bereitstellst. Ein Schritt-für-Schritt-Tutorial für skaliertes und effizientes Modell-Serving wird geboten.

  • C++-Deployment implementieren: Tauche in das Tutorial zum Laden eines TorchScript-Modells in C++ ein, um die Integration deiner TorchScript-Modelle in C++-Anwendungen für verbesserte Leistung und Flexibilität zu erleichtern.

Zusammenfassung#

In diesem Leitfaden haben wir den Prozess des Exports von Ultralytics YOLO26 Modellen in das TorchScript-Format untersucht. Indem du die bereitgestellten Anweisungen befolgst, kannst du YOLO26-Modelle auf Leistung optimieren und die Flexibilität gewinnen, sie auf verschiedenen Plattformen und in unterschiedlichen Umgebungen bereitzustellen.

Weitere Details zur Verwendung findest du in der offiziellen TorchScript-Dokumentation.

Wenn du außerdem mehr über andere Ultralytics YOLO26-Integrationen erfahren möchtest, besuche unsere Seite zum Integrationsleitfaden. Dort findest du zahlreiche nützliche Ressourcen und Einblicke.

FAQ#

  • Der Export eines Ultralytics YOLO26-Modells nach TorchScript ermöglicht eine flexible, plattformübergreifende Bereitstellung. TorchScript, ein Teil des PyTorch-Ökosystems, erleichtert die Serialisierung von Modellen, die dann in Umgebungen ohne Python-Unterstützung ausgeführt werden können. Dies macht es nützlich für die Bereitstellung von Modellen in C++-Umgebungen.

  • Um ein YOLO26-Modell nach TorchScript zu exportieren, kannst du den folgenden Beispielcode verwenden:

    Verwendung
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TorchScript format
    model.export(format="torchscript")  # creates 'yolo26n.torchscript'
    
    # Load the exported TorchScript model
    torchscript_model = YOLO("yolo26n.torchscript")
    
    # Run inference
    results = torchscript_model("https://ultralytics.com/images/bus.jpg")

    Weitere Details zum Exportprozess findest du in der Ultralytics-Dokumentation zum Exportieren.

  • Die Verwendung von TorchScript für die Bereitstellung von YOLO26-Modellen bietet mehrere Vorteile:

    • Portabilität: Exportierte Modelle können ohne Python in C++-Anwendungen ausgeführt werden.
    • Optimierung: TorchScript unterstützt die statische Graph-Ausführung und die Just-In-Time (JIT) Kompilierung, was die Modellleistung optimieren kann.
    • Sprachübergreifende Integration: TorchScript-Modelle können in andere Programmiersprachen integriert werden, was die Flexibilität und Erweiterbarkeit erhöht.
    • Serialisierung: Modelle können serialisiert werden, was ein plattformunabhängiges Laden und Inferenzieren ermöglicht.

    Weitere Einblicke in das Deployment findest du in der TorchServe-Dokumentation und im C++-Deployment-Leitfaden. Für das lokale Deployment auf Mobilgeräten empfiehlt PyTorch nun ExecuTorch, das eine eigene separate Pipeline torch.export().pte anstelle von TorchScript verwendet.

  • Um das erforderliche Paket für den Export von YOLO26-Modellen zu installieren, verwende den folgenden Befehl:

    Installation
    # Install the required package for YOLO26
    pip install ultralytics

    Detaillierte Anweisungen findest du in der Ultralytics-Installationsanleitung. Wenn während der Installation Probleme auftreten, ziehe den Leitfaden für häufige Probleme zu Rate.

  • Nachdem du YOLO26-Modelle in das TorchScript-Format exportiert hast, kannst du sie auf einer Vielzahl von Plattformen bereitstellen:

    • C++ API: Verwende LibTorch für ressourcenschonende und hocheffiziente Produktionsumgebungen.
    • Mobiles Deployment: Verwende ExecuTorch, den von PyTorch unterstützten Nachfolger mit einer separaten .pte-Exportpipeline.
    • Cloud-Deployment: Nutze Dienste wie TorchServe für ein skalierbares server-seitiges Deployment.

    Entdecke umfassende Richtlinien für die Bereitstellung von Modellen in diesen Umgebungen, um die Fähigkeiten von TorchScript voll auszuschöpfen.

Kommentare