Verstehen, wie man aus YOLO11 in das TF SavedModel-Format exportiert
Das Bereitstellen von Modellen für maschinelles Lernen kann eine Herausforderung sein. Die Verwendung eines effizienten und flexiblen Modellformats kann Ihnen die Arbeit jedoch erleichtern. TF SavedModel ist ein Open-Source-Framework für maschinelles Lernen, das von TensorFlow verwendet wird, um Modelle für maschinelles Lernen auf konsistente Weise zu laden. Es ist wie ein Koffer für TensorFlow-Modelle, der es einfach macht, sie zu transportieren und auf verschiedenen Geräten und Systemen zu verwenden.
Das Erlernen des Exports in TF SavedModel aus Ultralytics YOLO11-Modellen kann Ihnen helfen, Modelle einfach auf verschiedenen Plattformen und in verschiedenen Umgebungen bereitzustellen. In diesem Leitfaden zeigen wir Ihnen, wie Sie Ihre Modelle in das TF SavedModel-Format konvertieren, um den Prozess der Durchführung von Inferenz mit Ihren Modellen auf verschiedenen Geräten zu vereinfachen.
Warum sollten Sie in TF SavedModel exportieren?
Das TensorFlow SavedModel-Format ist ein Teil des TensorFlow-Ökosystems, das von Google entwickelt wurde, wie unten dargestellt. Es wurde entwickelt, um TensorFlow-Modelle nahtlos zu speichern und zu serialisieren. Es kapselt die vollständigen Details von Modellen wie die Architektur, die Gewichtungen und sogar die Kompilierungsinformationen. Dies macht es einfach, sie gemeinsam zu nutzen, bereitzustellen und das Training in verschiedenen Umgebungen fortzusetzen.
Das TF SavedModel hat einen entscheidenden Vorteil: seine Kompatibilität. Es funktioniert gut mit TensorFlow Serving, TensorFlow Lite und TensorFlow. Diese Kompatibilität erleichtert das Teilen und Bereitstellen von Modellen auf verschiedenen Plattformen, einschließlich Web- und mobilen Anwendungen. Das TF SavedModel-Format ist sowohl für Forschung als auch für die Produktion nützlich. Es bietet eine einheitliche Möglichkeit, Ihre Modelle zu verwalten und sicherzustellen, dass sie für jede Anwendung bereit sind.
Hauptmerkmale von TF SavedModels
Hier sind die wichtigsten Funktionen, die TF SavedModel zu einer großartigen Option für KI-Entwickler machen:
-
Portabilität: TF SavedModel bietet ein sprachneutrales, wiederherstellbares, hermetisches Serialisierungsformat. Sie ermöglichen es Systemen und Tools höherer Ebene, TensorFlow-Modelle zu erstellen, zu nutzen und zu transformieren. SavedModels können einfach gemeinsam genutzt und auf verschiedenen Plattformen und in verschiedenen Umgebungen bereitgestellt werden.
-
Einfache Bereitstellung: TF SavedModel bündelt den Berechnungsgraphen, die trainierten Parameter und die notwendigen Metadaten in einem einzigen Paket. Sie können einfach geladen und für Inferenz verwendet werden, ohne dass der ursprüngliche Code erforderlich ist, der das Modell erstellt hat. Dies macht die Bereitstellung von TensorFlow-Modellen in verschiedenen Produktionsumgebungen unkompliziert und effizient.
-
Asset-Management: TF SavedModel unterstützt die Einbeziehung externer Assets wie Vokabulare, Einbettungen oder Nachschlagetabellen. Diese Assets werden zusammen mit der Graphendefinition und den Variablen gespeichert, um sicherzustellen, dass sie beim Laden des Modells verfügbar sind. Diese Funktion vereinfacht die Verwaltung und Verteilung von Modellen, die auf externe Ressourcen angewiesen sind.
Bereitstellungsoptionen mit TF SavedModel
Bevor wir uns mit dem Export von YOLO11-Modellen in das TF SavedModel-Format befassen, wollen wir einige typische Einsatzszenarien untersuchen, in denen dieses Format verwendet wird.
TF SavedModel bietet eine Reihe von Optionen, um Ihre Modelle für maschinelles Lernen bereitzustellen:
-
TensorFlow Serving: TensorFlow Serving ist ein flexibles, hochleistungsfähiges Serving-System, das für Produktionsumgebungen entwickelt wurde. Es unterstützt nativ TF SavedModels, wodurch es einfach ist, Ihre Modelle auf Cloud-Plattformen, lokalen Servern oder Edge-Geräten bereitzustellen und zu bedienen.
-
Cloud-Plattformen: Große Cloud-Anbieter wie Google Cloud Platform (GCP), Amazon Web Services (AWS) und Microsoft Azure bieten Dienste für die Bereitstellung und Ausführung von TensorFlow-Modellen, einschließlich TF SavedModels. Diese Dienste bieten eine skalierbare und verwaltete Infrastruktur, mit der Sie Ihre Modelle einfach bereitstellen und skalieren können.
-
Mobile und Embedded-Geräte: TensorFlow Lite, eine schlanke Lösung für die Ausführung von Machine-Learning-Modellen auf mobilen, eingebetteten und IoT-Geräten, unterstützt die Konvertierung von TF SavedModels in das TensorFlow Lite-Format. Dies ermöglicht es Ihnen, Ihre Modelle auf einer Vielzahl von Geräten einzusetzen, von Smartphones und Tablets bis hin zu Mikrocontrollern und Edge-Geräten.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt
) ist eine hochleistungsfähige Laufzeitumgebung für die Ausführung von TensorFlow Graphen. Sie bietet APIs auf niedrigerer Ebene zum Laden und Ausführen von TF SavedModels in C++-Umgebungen. TensorFlow Runtime bietet eine bessere Leistung im Vergleich zur Standard-TensorFlow-Laufzeitumgebung. Sie eignet sich für Bereitstellungsszenarien, die Inferenz mit niedriger Latenz und eine enge Integration mit bestehenden C++-Codebasen erfordern.
YOLO11-Modelle in TF SavedModel exportieren
Durch den Export von YOLO11-Modellen in das TF SavedModel-Format verbessern Sie ihre Anpassungsfähigkeit und einfache Bereitstellung auf verschiedenen Plattformen.
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 SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'
# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'
Export-Argumente
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
format |
str |
'saved_model' |
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. |
keras |
bool |
False |
Ermöglicht den Export in das Keras-Format und bietet Kompatibilität mit TensorFlow Serving und APIs. |
int8 |
bool |
False |
Aktiviert die INT8-Quantisierung, wodurch das Modell weiter komprimiert und die Inferenz mit minimalem Genauigkeitsverlust beschleunigt wird, hauptsächlich für Edge-Geräte. |
nms |
bool |
False |
Fügt Non-Maximum Suppression (NMS) hinzu, die für eine genaue und effiziente Nachbearbeitung der Erkennung unerlässlich ist. |
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 SavedModel-Modelle
Nachdem Sie Ihr YOLO11-Modell in das TF-SavedModel-Format exportiert haben, besteht der nächste Schritt darin, es bereitzustellen. Der primäre und empfohlene erste Schritt zum Ausführen eines TF-SavedModel-Modells ist die Verwendung des YOLO("yolo11n_saved_model/")
Methode, wie zuvor im Code-Snippet zur Verwendung gezeigt.
Für detaillierte Anweisungen zur Bereitstellung Ihrer TF SavedModel-Modelle werfen Sie jedoch einen Blick auf die folgenden Ressourcen:
-
TensorFlow Serving: Hier finden Sie die Entwicklerdokumentation zur Bereitstellung Ihrer TF SavedModel-Modelle mit TensorFlow Serving.
-
Ausführen eines TensorFlow SavedModel in Node.js: Ein TensorFlow-Blogbeitrag über das Ausführen eines TensorFlow SavedModel in Node.js direkt ohne Konvertierung.
-
Bereitstellung in der Cloud: Ein TensorFlow-Blogbeitrag über die Bereitstellung eines TensorFlow SavedModel-Modells auf der Cloud AI Platform.
Zusammenfassung
In diesem Leitfaden haben wir untersucht, wie man Ultralytics YOLO11-Modelle in das TF SavedModel-Format exportiert. Durch den Export in TF SavedModel erhalten Sie die Flexibilität, Ihre YOLO11-Modelle auf einer Vielzahl von Plattformen zu optimieren, bereitzustellen und zu skalieren.
Weitere Informationen zur Verwendung finden Sie in der offiziellen TF SavedModel-Dokumentation.
Weitere Informationen zur Integration von Ultralytics YOLO11 mit anderen Plattformen und Frameworks finden Sie auf unserer Seite mit dem Integrationsleitfaden. Sie ist voll von großartigen Ressourcen, die Ihnen helfen, YOLO11 in Ihren Projekten optimal zu nutzen.
FAQ
Wie exportiere ich ein Ultralytics YOLO-Modell in das TensorFlow SavedModel-Format?
Das Exportieren eines Ultralytics YOLO-Modells in das TensorFlow SavedModel-Format ist unkompliziert. Sie können entweder Python oder CLI verwenden, um dies zu erreichen:
YOLO11 nach TF SavedModel exportieren
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'
# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'
Weitere Informationen finden Sie in der Ultralytics Export-Dokumentation.
Warum sollte ich das TensorFlow SavedModel-Format verwenden?
Das TensorFlow SavedModel-Format bietet mehrere Vorteile für die Modellbereitstellung:
- Portabilität: Es bietet ein sprachneutrales Format, das es einfach macht, Modelle in verschiedenen Umgebungen auszutauschen und bereitzustellen.
- Kompatibilität: Lässt sich nahtlos in Tools wie TensorFlow Serving, TensorFlow Lite und TensorFlow.js integrieren, die für die Bereitstellung von Modellen auf verschiedenen Plattformen, einschließlich Web- und mobilen Anwendungen, unerlässlich sind.
- Vollständige Kapselung: Kodiert die Modellarchitektur, Gewichte und Kompilierungsinformationen und ermöglicht so eine unkomplizierte Weitergabe und Fortsetzung des Trainings.
Weitere Vorteile und Bereitstellungsoptionen finden Sie unter Ultralytics YOLO Modellbereitstellungsoptionen.
Was sind die typischen Einsatzszenarien für TF SavedModel?
TF SavedModel kann in verschiedenen Umgebungen eingesetzt werden, darunter:
- TensorFlow Serving: Ideal für Produktionsumgebungen, die eine skalierbare und hochleistungsfähige Modellbereitstellung erfordern.
- Cloud-Plattformen: Unterstützt wichtige Cloud-Dienste wie Google Cloud Platform (GCP), Amazon Web Services (AWS) und Microsoft Azure für eine skalierbare Modellbereitstellung.
- Mobile und Embedded-Geräte: Die Verwendung von TensorFlow Lite zur Konvertierung von TF SavedModels ermöglicht den Einsatz auf mobilen Geräten, IoT-Geräten und Mikrocontrollern.
- TensorFlow Runtime: Für C++-Umgebungen, die eine Inferenz mit niedriger Latenz und besserer Leistung benötigen.
Für detaillierte Bereitstellungsoptionen besuchen Sie die offiziellen Anleitungen zur Bereitstellung von TensorFlow-Modellen.
Wie kann ich die notwendigen Pakete installieren, um YOLO11-Modelle zu exportieren?
Um YOLO11-Modelle zu exportieren, müssen Sie das ultralytics
Paket installieren. Führen Sie den folgenden Befehl in Ihrem Terminal aus:
pip install ultralytics
Weitere detaillierte Installationsanweisungen und Best Practices finden Sie in unserem Ultralytics Installationsleitfaden. Wenn Sie auf Probleme stoßen, konsultieren Sie unseren Leitfaden zu häufigen Problemen.
Was sind die Hauptmerkmale des TensorFlow SavedModel-Formats?
Das TF SavedModel-Format ist aufgrund der folgenden Funktionen für KI-Entwickler von Vorteil:
- Portabilität: Ermöglicht die mühelose gemeinsame Nutzung und Bereitstellung in verschiedenen Umgebungen.
- Einfache Bereitstellung: Kapselt den Berechnungsgraphen, die trainierten Parameter und die Metadaten in einem einzigen Paket, was das Laden und die Inferenz vereinfacht.
- Asset-Management: Unterstützt externe Assets wie Vokabulare und stellt sicher, dass diese beim Laden des Modells verfügbar sind.
Weitere Informationen finden Sie in der offiziellen TensorFlow-Dokumentation.