YOLO11 Modellexport nach TorchScript für eine schnelle Bereitstellung
Der Einsatz von Computer-Vision-Modellen in verschiedenen Umgebungen, einschließlich eingebetteter Systeme, Webbrowser oder Plattformen mit eingeschränkter Python Unterstützung, erfordert eine flexible und portable Lösung. TorchScript konzentriert sich auf die Portabilität und die Fähigkeit, Modelle in Umgebungen auszuführen, in denen das gesamte Python Framework nicht verfügbar ist. Dies macht es ideal für Szenarien, in denen Sie Ihre Computer-Vision-Funktionen auf verschiedenen Geräten oder Plattformen einsetzen müssen.
Exportieren Sie nach Torchscript , um Ihre Modelle zu serialisieren Ultralytics YOLO11 Modelle für plattformübergreifende Kompatibilität und optimierte Bereitstellung zu serialisieren. In dieser Anleitung zeigen wir Ihnen, wie Sie Ihre Modelle von YOLO11 in das Format TorchScript exportieren können, damit Sie sie in einer größeren Anzahl von Anwendungen verwenden können.
Warum sollten Sie auf TorchScript exportieren?
TorchScript wurde von den Machern von PyTorch entwickelt und ist ein leistungsstarkes Tool zur Optimierung und Bereitstellung von PyTorch Modellen auf einer Vielzahl von Plattformen. Der Export von YOLO11 Modellen nach TorchScript ist entscheidend für den Übergang von der Forschung zu realen Anwendungen. TorchScript Die Software PyTorch , Teil des PyTorch Frameworks, hilft dabei, diesen Übergang reibungsloser zu gestalten, indem sie die Verwendung von Modellen in Umgebungen ermöglicht, die Python nicht unterstützen.
Der Prozess umfasst zwei Techniken: Tracing und Scripting. Die Verfolgung zeichnet Operationen während der Ausführung des Modells auf, während die Skripterstellung die Definition von Modellen unter Verwendung einer Teilmenge von Python ermöglicht. Diese Techniken stellen sicher, dass Modelle wie YOLO11 auch außerhalb ihrer gewohnten Umgebung Python ihre Wirkung entfalten können.
TorchScript Modelle können auch durch Techniken wie Operatorfusion und Verfeinerung der Speichernutzung optimiert werden, um eine effiziente Ausführung zu gewährleisten. Ein weiterer Vorteil des Exports nach TorchScript ist das Potenzial zur Beschleunigung der Modellausführung auf verschiedenen Hardwareplattformen. Es wird eine eigenständige, produktionsreife Darstellung Ihres PyTorch Modells erstellt, die in C++-Umgebungen, eingebettete Systeme oder in Web- oder Mobilanwendungen integriert werden kann.
Hauptmerkmale der Modelle TorchScript
TorchScript, ein wichtiger Bestandteil des PyTorch Ökosystems, bietet leistungsstarke Funktionen für die Optimierung und den Einsatz von Deep-Learning-Modellen.
Hier sind die wichtigsten Funktionen, die TorchScript zu einem wertvollen Werkzeug für Entwickler machen:
-
Statische Graphausführung: TorchScript verwendet eine statische Graphdarstellung der Modellberechnung, die sich von der dynamischen Graphausführung von PyTorch unterscheidet. Bei der statischen Graphenausführung wird der Berechnungsgraph vor der eigentlichen Ausführung einmal definiert und kompiliert, was zu einer verbesserten Leistung bei der Inferenz führt.
-
Modellserialisierung: TorchScript ermöglicht es Ihnen, PyTorch Modelle in ein plattformunabhängiges Format zu serialisieren. Serialisierte Modelle können geladen werden, ohne dass der ursprüngliche Python Code benötigt wird, was den Einsatz in verschiedenen Laufzeitumgebungen ermöglicht.
-
JIT-Kompilierung: TorchScript verwendet Just-In-Time (JIT)-Kompilierung, um PyTorch Modelle in eine optimierte Zwischendarstellung zu konvertieren. JIT kompiliert den Berechnungsgraphen des Modells und ermöglicht so eine effiziente Ausführung auf den Zielgeräten.
-
Sprachübergreifende Integration: Mit TorchScript können Sie PyTorch Modelle in andere Sprachen wie C++, Java und JavaScript exportieren. Dies erleichtert die Integration von PyTorch Modellen in bestehende Softwaresysteme, die in anderen Sprachen geschrieben wurden.
-
Schrittweise Konvertierung: TorchScript bietet einen schrittweisen Konvertierungsansatz, der es Ihnen ermöglicht, Teile Ihres PyTorch Modells schrittweise in TorchScript zu konvertieren. Diese Flexibilität ist besonders nützlich, wenn es um komplexe Modelle geht oder wenn Sie bestimmte Teile des Codes optimieren wollen.
Bereitstellungsoptionen in TorchScript
Bevor wir uns den Code für den Export von YOLO11 Modellen in das TorchScript Format ansehen, sollten wir verstehen, wo TorchScript Modelle normalerweise verwendet werden.
TorchScript bietet verschiedene Einsatzmöglichkeiten für Modelle des maschinellen Lernens, wie z. B.:
-
C++-API: Der häufigste Anwendungsfall für TorchScript ist die C++-API, mit der Sie optimierte TorchScript Modelle direkt in C++-Anwendungen laden und ausführen können. Dies ist ideal für Produktionsumgebungen, in denen Python möglicherweise nicht geeignet oder verfügbar ist. Die C++-API bietet einen geringen Overhead und eine effiziente Ausführung von TorchScript -Modellen, wodurch das Leistungspotenzial maximiert wird.
-
Mobile Deployment: TorchScript bietet Tools zur Konvertierung von Modellen in Formate, die auf mobilen Geräten eingesetzt werden können. PyTorch Mobile bietet eine Laufzeit für die Ausführung dieser Modelle innerhalb der Anwendungen iOS und Android . Dies ermöglicht Offline-Inferenzfunktionen mit geringer Latenz und verbessert die Benutzerfreundlichkeit und den Datenschutz.
-
Cloud-Deployment: TorchScript Modelle können mit Lösungen wie TorchServe auf Cloud-basierten Servern bereitgestellt werden. Es bietet Funktionen wie Modellversionierung, Stapelverarbeitung und Überwachung von Metriken für eine skalierbare Bereitstellung in Produktionsumgebungen. Die Cloud-Bereitstellung mit TorchScript kann Ihre Modelle über APIs oder andere Webdienste zugänglich machen.
Exportieren nach TorchScript: Konvertierung Ihres YOLO11 Modells
Der Export von YOLO11 -Modellen nach TorchScript macht es einfacher, sie an verschiedenen Orten zu verwenden und hilft ihnen, schneller und effizienter zu laufen. Dies ist ideal für alle, die Deep-Learning-Modelle effektiver in realen Anwendungen einsetzen möchten.
Einrichtung
Führen Sie das erforderliche Paket aus, um es zu installieren:
Detaillierte Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, finden Sie in unserem Leitfaden für häufige Probleme Lösungen und Tipps.
Verwendung
Bevor wir uns den Anweisungen zur Verwendung zuwenden, ist es wichtig zu wissen, dass alle Modelle vonUltralytics YOLO11 für den Export verfügbar sind.
Verwendung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
Weitere Einzelheiten zum Exportvorgang finden Sie auf der Dokumentationsseite zum Exportieren unterUltralytics .
Bereitstellung von exportierten YOLO11 TorchScript Modellen
Nachdem Sie Ihre Ultralytics YOLO11 Modelle erfolgreich in das TorchScript Format exportiert haben, können Sie sie nun einsetzen. Der primäre und empfohlene erste Schritt zur Ausführung eines TorchScript Modells ist die Verwendung der YOLO("model.torchscript") Methode, wie im vorherigen Codeausschnitt beschrieben. Ausführliche Anleitungen zur Bereitstellung Ihrer TorchScript Modelle in verschiedenen anderen Einstellungen finden Sie jedoch in den folgenden Ressourcen:
-
Mobile Bereitstellung erforschen: Die PyTorch Die mobile Dokumentation enthält umfassende Richtlinien für die Bereitstellung von Modellen auf mobilen Geräten, um sicherzustellen, dass Ihre Anwendungen effizient und reaktionsschnell sind.
-
Master Server-Side Deployment: Lernen Sie, wie man Modelle mit TorchServe serverseitig einsetzt und erhalten Sie eine Schritt-für-Schritt-Anleitung für skalierbares, effizientes Model-Serving.
-
Implementierung von C++ Deployment: Tauchen Sie ein in das Tutorial zum Laden eines TorchScript Modells in C++, das die Integration Ihrer TorchScript Modelle in C++ Anwendungen erleichtert, um die Leistung und Vielseitigkeit zu verbessern.
Zusammenfassung
In dieser Anleitung haben wir den Export von Ultralytics YOLO11 Modellen in das TorchScript Format untersucht. Wenn Sie die Anweisungen befolgen, können Sie die Leistung der Modelle von YOLO11 optimieren und erhalten die Flexibilität, sie auf verschiedenen Plattformen und in verschiedenen Umgebungen einzusetzen.
Weitere Einzelheiten zur Verwendung finden Sie in der offiziellen Dokumentation vonTorchScript.
Wenn Sie mehr über andere Ultralytics YOLO11 Integrationen erfahren möchten, besuchen Sie unseren Integrationsleitfaden. Dort finden Sie viele nützliche Ressourcen und Einblicke.
FAQ
Was ist Ultralytics YOLO11 model export to TorchScript?
Der Export eines Ultralytics YOLO11 Modells nach TorchScript ermöglicht eine flexible, plattformübergreifende Bereitstellung. TorchScript Als Teil des PyTorch Ökosystems erleichtert der Export die Serialisierung von Modellen, die dann in Umgebungen ausgeführt werden können, die Python nicht unterstützen. Dies macht es ideal für die Bereitstellung von Modellen auf eingebetteten Systemen, C++-Umgebungen, mobilen Anwendungen und sogar Webbrowsern. Der Export nach TorchScript ermöglicht eine effiziente Leistung und eine breitere Anwendbarkeit Ihrer YOLO11 Modelle auf verschiedenen Plattformen.
Wie kann ich mein YOLO11 Modell mit Ultralytics nach TorchScript exportieren?
Um ein Modell von YOLO11 nach TorchScript zu exportieren, können Sie den folgenden Beispielcode verwenden:
Verwendung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
Weitere Einzelheiten zum Exportvorgang finden Sie in der Dokumentation zum Exportieren unterUltralytics .
Warum sollte ich TorchScript für die Bereitstellung von YOLO11 Modellen verwenden?
Die Verwendung von TorchScript für die Bereitstellung von YOLO11 Modellen bietet mehrere Vorteile:
- Übertragbarkeit: Exportierte Modelle können in Umgebungen ausgeführt werden, für die keine Python erforderlich ist, z. B. in C++-Anwendungen, eingebetteten Systemen oder mobilen Geräten.
- Optimierung: TorchScript unterstützt die statische Ausführung von Graphen und die Just-In-Time-Kompilierung (JIT), wodurch die Modellleistung optimiert werden 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 Inferenz ermöglicht.
Weitere Informationen zur Bereitstellung finden Sie in der PyTorch Mobile Dokumentation, der TorchServe Dokumentation und dem C++ Deployment Guide.
Was sind die Installationsschritte für den Export von YOLO11 Modellen nach TorchScript?
Um das erforderliche Paket für den Export von YOLO11 Modellen zu installieren, verwenden Sie den folgenden Befehl:
Detaillierte Anweisungen finden Sie im Ultralytics Installationshandbuch. Wenn während der Installation Probleme auftreten, lesen Sie bitte den Leitfaden für allgemeine Probleme.
Wie kann ich meine exportierten TorchScript YOLO11 Modelle bereitstellen?
Nachdem Sie die Modelle von YOLO11 in das Format TorchScript exportiert haben, können Sie sie auf einer Vielzahl von Plattformen einsetzen:
- C++ API: Ideal für Produktionsumgebungen mit geringem Aufwand und hoher Effizienz.
- Mobiler Einsatz: Verwenden Sie PyTorch Mobile für die Anwendungen iOS und Android .
- Cloud-Bereitstellung: Nutzen Sie Dienste wie TorchServe für die skalierbare serverseitige Bereitstellung.
Erkunden Sie umfassende Leitlinien für den Einsatz von Modellen in diesen Bereichen, um die Möglichkeiten von TorchScript voll auszuschöpfen.