Wie man von YOLO11 nach TF GraphDef für die Bereitstellung exportiert
Bei der Bereitstellung hochmoderner Computer Vision-Modelle wie YOLO11 in verschiedenen Umgebungen können Kompatibilitätsprobleme auftreten. Googles TensorFlow GraphDef oder TF GraphDef bietet eine Lösung, indem es eine serialisierte, plattformunabhängige Darstellung Ihres Modells bereitstellt. Mit dem TF-GraphDef-Modellformat können Sie Ihr YOLO11-Modell in Umgebungen bereitstellen, in denen das vollständige TensorFlow-Ökosystem möglicherweise nicht verfügbar ist, z. B. auf mobilen Geräten oder spezieller Hardware.
In dieser Anleitung führen wir Sie Schritt für Schritt durch den Export Ihrer Ultralytics YOLO11-Modelle in das TF-GraphDef-Modellformat. Durch die Konvertierung Ihres Modells können Sie die Bereitstellung optimieren und die Computer-Vision-Funktionen von YOLO11 in einem breiteren Spektrum von Anwendungen und Plattformen nutzen.
Warum sollten Sie nach TF GraphDef exportieren?
TF GraphDef ist eine leistungsstarke Komponente des TensorFlow-Ökosystems, die von Google entwickelt wurde. Es kann verwendet werden, um Modelle wie YOLO11 zu optimieren und bereitzustellen. Der Export in TF GraphDef ermöglicht es uns, Modelle von der Forschung in reale Anwendungen zu überführen. Es ermöglicht die Ausführung von Modellen in Umgebungen ohne das vollständige TensorFlow-Framework.
Das GraphDef-Format stellt das Modell als serialisierten Berechnungsgraphen dar. Dies ermöglicht verschiedene Optimierungstechniken wie Constant Folding, Quantisierung und Graphtransformationen. Diese Optimierungen gewährleisten eine effiziente Ausführung, einen reduzierten Speicherverbrauch und schnellere Inferenzgeschwindigkeiten.
GraphDef-Modelle können Hardwarebeschleuniger wie GPUs, TPUs und KI-Chips verwenden, wodurch erhebliche Leistungssteigerungen für die YOLO11-Inferenzpipeline erzielt werden. Das TF-GraphDef-Format erstellt ein in sich geschlossenes Paket mit dem Modell und seinen Abhängigkeiten, was die Bereitstellung und Integration in verschiedene Systeme vereinfacht.
Hauptmerkmale von TF GraphDef-Modellen
TF GraphDef bietet deutliche Funktionen zur Optimierung der Modellbereitstellung und -optimierung.
Hier ist ein Blick auf seine wichtigsten Eigenschaften:
-
Modellserialisierung: TF GraphDef bietet eine Möglichkeit, TensorFlow-Modelle in einem plattformunabhängigen Format zu serialisieren und zu speichern. Diese serialisierte Darstellung ermöglicht es Ihnen, Ihre Modelle ohne die ursprüngliche python-Codebasis zu laden und auszuführen, was die Bereitstellung vereinfacht.
-
Graphenoptimierung: TF GraphDef ermöglicht die Optimierung von Berechnungsgraphen. Diese Optimierungen können die Leistung steigern, indem sie den Ausführungsfluss rationalisieren, Redundanzen reduzieren und Operationen an die jeweilige Hardware anpassen.
-
Deployment-Flexibilität: In das GraphDef-Format exportierte Modelle können in verschiedenen Umgebungen verwendet werden, einschließlich ressourcenbeschränkter Geräte, Webbrowser und Systeme mit spezialisierter Hardware. Dies eröffnet Möglichkeiten für eine breitere Bereitstellung Ihrer TensorFlow-Modelle.
-
Produktionsfokus: GraphDef ist für die Produktionsbereitstellung konzipiert. Es unterstützt eine effiziente Ausführung, Serialisierungsfunktionen und Optimierungen, die auf reale Anwendungsfälle abgestimmt sind.
Bereitstellungsoptionen mit TF GraphDef
Bevor wir uns mit dem Exportieren von YOLO11-Modellen in TF GraphDef befassen, werfen wir einen Blick auf einige typische Einsatzszenarien, in denen dieses Format verwendet wird.
Hier erfahren Sie, wie Sie effizient mit TF GraphDef über verschiedene Plattformen hinweg bereitstellen können.
-
TensorFlow Serving: Dieses Framework wurde entwickelt, um TensorFlow-Modelle in Produktionsumgebungen bereitzustellen. TensorFlow Serving bietet Modellverwaltung, Versionierung und die Infrastruktur für eine effiziente Modellbereitstellung in großem Maßstab. Es ist eine nahtlose Möglichkeit, Ihre GraphDef-basierten Modelle in Webdienste oder APIs für die Produktion zu integrieren.
-
Mobile und Embedded-Geräte: Mit Tools wie TensorFlow Lite können Sie TF GraphDef-Modelle in Formate konvertieren, die für Smartphones, Tablets und verschiedene eingebettete Geräte optimiert sind. Ihre Modelle können dann für die On-Device-Inferenz verwendet werden, bei der die Ausführung lokal erfolgt, was oft zu Leistungssteigerungen und Offline-Fähigkeiten führt.
-
Webbrowser: TensorFlow.js ermöglicht die Bereitstellung von TF GraphDef-Modellen direkt in Webbrowsern. Es ebnet den Weg für Echtzeit-Objekterkennungsanwendungen, die auf der Clientseite laufen und die Fähigkeiten von YOLO11 über JavaScript nutzen.
-
Spezialisierte Hardware: Die Plattformunabhängigkeit von TF GraphDef ermöglicht es, auf kundenspezifische Hardware wie Beschleuniger und TPUs (Tensor Processing Units) abzuzielen. Diese Geräte können Leistungsvorteile für rechenintensive Modelle bieten.
Exportieren von YOLO11-Modellen nach TF GraphDef
Sie können Ihr YOLO11-Objekterkennungsmodell in das TF GraphDef-Format konvertieren, das mit verschiedenen Systemen kompatibel ist, um seine Leistung auf verschiedenen Plattformen zu verbessern.
Installation
Um das erforderliche Paket zu installieren, führen Sie Folgendes aus:
Installation
# Install the required package for YOLO11
pip install ultralytics
Detaillierte Anweisungen und Best Practices zum Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, konsultieren Sie unser Handbuch zu häufigen Problemen für Lösungen und Tipps.
Nutzung
Alle Ultralytics YOLO11 Modelle sind so konzipiert, dass sie den Export standardmäßig unterstützen, wodurch die Integration in Ihren bevorzugten Deployment-Workflow vereinfacht wird. Sie können die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen anzeigen, um das beste Setup für Ihre Anwendung auszuwählen.
Nutzung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model='yolo11n.pb' source='https://ultralytics.com/images/bus.jpg'
Export-Argumente
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
format |
str |
'pb' |
Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Deployment-Umgebungen definiert. |
imgsz |
int oder tuple |
640 |
Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein. |
batch |
int |
1 |
Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl von Bildern an, die das exportierte Modell gleichzeitig verarbeitet predict Modus. |
device |
str |
None |
Gibt das Gerät für den Export an: CPU (device=cpu ), MPS für Apple Silicon (device=mps ), oder Auto-Modus mit angegebener Auslastungsfraktion ( |
Weitere Informationen zum Exportprozess finden Sie auf der Ultralytics-Dokumentationsseite zum Exportieren.
Bereitstellung exportierter YOLO11 TF GraphDef-Modelle
Sobald Sie Ihr YOLO11-Modell in das TF GraphDef-Format exportiert haben, ist der nächste Schritt die Bereitstellung. Der primäre und empfohlene erste Schritt zum Ausführen eines TF GraphDef-Modells ist die Verwendung der YOLO("model.pb")-Methode, wie bereits im Code-Snippet zur Verwendung gezeigt.
Weitere Informationen zur Bereitstellung Ihrer TF GraphDef-Modelle finden Sie in den folgenden Ressourcen:
-
TensorFlow Serving: Eine Anleitung zu TensorFlow Serving, die lehrt, wie man Machine-Learning-Modelle effizient in Produktionsumgebungen bereitstellt und bereitstellt.
-
TensorFlow Lite: Diese Seite beschreibt, wie Sie Machine-Learning-Modelle in ein Format konvertieren, das für die On-Device-Inferenz mit TensorFlow Lite optimiert ist.
-
TensorFlow.js: Eine Anleitung zur Modellkonvertierung, die lehrt, wie man TensorFlow- oder Keras-Modelle in das TensorFlow.js-Format für die Verwendung in Webanwendungen konvertiert.
Zusammenfassung
In dieser Anleitung haben wir untersucht, wie man Ultralytics YOLO11-Modelle in das TF-GraphDef-Format exportiert. Auf diese Weise können Sie Ihre optimierten YOLO11-Modelle flexibel in verschiedenen Umgebungen einsetzen.
Weitere Informationen zur Verwendung finden Sie in der offiziellen TF GraphDef-Dokumentation.
Weitere Informationen zur Integration von Ultralytics YOLO11 mit anderen Plattformen und Frameworks finden Sie in unserem Integrationsleitfaden. Er enthält großartige Ressourcen und Einblicke, die Ihnen helfen, YOLO11 in Ihren Projekten optimal zu nutzen.
FAQ
Wie exportiere ich ein YOLO11-Modell in das TF GraphDef-Format?
Ultralytics YOLO11 Modelle können nahtlos in das TensorFlow GraphDef-Format (TF GraphDef) exportiert werden. Dieses Format bietet eine serialisierte, plattformunabhängige Darstellung des Modells, ideal für den Einsatz in verschiedenen Umgebungen wie Mobilgeräten und im Web. Um ein YOLO11 Modell in TF GraphDef zu exportieren, führen Sie die folgenden Schritte aus:
Nutzung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb" # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model="yolo11n.pb" source="https://ultralytics.com/images/bus.jpg"
Weitere Informationen zu verschiedenen Exportoptionen finden Sie in der Ultralytics-Dokumentation zum Modellexport.
Welche Vorteile bietet die Verwendung von TF GraphDef für die YOLO11-Modellbereitstellung?
Das Exportieren von YOLO11-Modellen in das TF GraphDef-Format bietet mehrere Vorteile, darunter:
- Plattformunabhängigkeit: TF GraphDef bietet ein plattformunabhängiges Format, das die Bereitstellung von Modellen in verschiedenen Umgebungen, einschließlich mobiler und Webbrowser, ermöglicht.
- Optimierungen: Das Format ermöglicht verschiedene Optimierungen wie Constant Folding, Quantisierung und Graphtransformationen, die die Ausführungseffizienz verbessern und den Speicherverbrauch reduzieren.
- Hardwarebeschleunigung: Modelle im TF GraphDef-Format können Hardwarebeschleuniger wie GPUs, TPUs und KI-Chips nutzen, um die Leistung zu steigern.
Erfahren Sie mehr über die Vorteile im TF GraphDef Abschnitt unserer Dokumentation.
Warum sollte ich Ultralytics YOLO11 gegenüber anderen Objekterkennungsmodellen verwenden?
Ultralytics YOLO11 bietet zahlreiche Vorteile gegenüber anderen Modellen wie YOLOv5 und YOLOv7. Einige der wichtigsten Vorteile sind:
- Modernste Leistung: YOLO11 bietet außergewöhnliche Geschwindigkeit und Genauigkeit für die Echtzeit-Objekterkennung, -Segmentierung und -Klassifizierung.
- Einfache Bedienung: Bietet eine benutzerfreundliche API für Modelltraining, Validierung, Vorhersage und Export, wodurch es sowohl für Anfänger als auch für Experten zugänglich ist.
- Breite Kompatibilität: Unterstützt mehrere Exportformate, darunter ONNX, TensorRT, CoreML und TensorFlow, für vielseitige Bereitstellungsoptionen.
Weitere Details finden Sie in unserer Einführung in YOLO11.
Wie kann ich ein YOLO11-Modell auf spezialisierter Hardware mit TF GraphDef bereitstellen?
Sobald ein YOLO11-Modell in das TF GraphDef-Format exportiert wurde, können Sie es auf verschiedenen spezialisierten Hardwareplattformen bereitstellen. Typische Einsatzszenarien sind:
- TensorFlow Serving: Verwenden Sie TensorFlow Serving für die skalierbare Modellbereitstellung in Produktionsumgebungen. Es unterstützt die Modellverwaltung und effiziente Bereitstellung.
- Mobile Geräte: Konvertieren Sie TF GraphDef-Modelle in TensorFlow Lite, optimiert für mobile und eingebettete Geräte, um On-Device-Inferenz zu ermöglichen.
- Webbrowser: Modelle mit TensorFlow.js für die clientseitige Inferenz in Webanwendungen bereitstellen.
- KI-Beschleuniger: Nutzen Sie TPUs und benutzerdefinierte KI-Chips für beschleunigte Inferenz.
Detaillierte Informationen finden Sie im Abschnitt Bereitstellungsoptionen.
Wo finde ich Lösungen für häufige Probleme beim Exportieren von YOLO11-Modellen?
Für die Behebung häufiger Probleme beim Exportieren von YOLO11-Modellen bietet Ultralytics umfassende Anleitungen und Ressourcen. Wenn Sie während der Installation oder des Modelexports auf Probleme stoßen, lesen Sie:
- Leitfaden zu häufigen Problemen: Bietet Lösungen für häufig auftretende Probleme.
- Installationsanleitung: Schritt-für-Schritt-Anleitungen zum Einrichten der erforderlichen Pakete.
Diese Ressourcen sollten Ihnen helfen, die meisten Probleme im Zusammenhang mit dem YOLO11-Modellexport und der Bereitstellung zu lösen.