Zum Inhalt springen

Verstehe, wie du in das TF SavedModel Format exportierst. YOLOv8

Der Einsatz von Machine-Learning-Modellen kann eine Herausforderung sein. Die Verwendung eines effizienten und flexiblen Modellformats kann dir jedoch die Arbeit erleichtern. TF SavedModel ist ein Open-Source-Framework für maschinelles Lernen, das von TensorFlow verwendet wird, um maschinelle Lernmodelle auf einheitliche Weise zu laden. Es ist wie ein Koffer für TensorFlow Modelle, so dass sie leicht zu transportieren und auf verschiedenen Geräten und Systemen zu verwenden sind.

Wenn du lernst, wie du Modelle nach TF SavedModel exportieren kannst. Ultralytics YOLOv8 Modellen kannst du Modelle auf verschiedenen Plattformen und in unterschiedlichen Umgebungen einsetzen. In diesem Leitfaden zeigen wir dir, wie du deine Modelle in das Format TF SavedModel konvertierst, damit du mit deinen Modellen auf verschiedenen Geräten einfacher Schlüsse ziehen kannst.

Warum solltest du auf TF SavedModel exportieren?

Das TensorFlow SavedModel Format ist ein Teil des TensorFlow Ökosystems, das von Google entwickelt wurde (siehe unten). Es wurde entwickelt, um TensorFlow Modelle nahtlos zu speichern und zu serialisieren. Es kapselt alle Details der Modelle, wie z. B. die Architektur, die Gewichte und sogar die Kompilierungsinformationen. Das macht es einfach, Modelle zu teilen, einzusetzen und in verschiedenen Umgebungen weiter zu trainieren.

TF SavedModel

Der TF SavedModel hat einen entscheidenden Vorteil: seine Kompatibilität. Sie funktioniert gut mit TensorFlow Serving, TensorFlow Lite und TensorFlow.js. Diese Kompatibilität erleichtert die gemeinsame Nutzung und den Einsatz von Modellen auf verschiedenen Plattformen, einschließlich Web- und Mobilanwendungen. Das Format TF SavedModel ist sowohl für die Forschung als auch für die Produktion nützlich. Es bietet eine einheitliche Methode zur Verwaltung deiner Modelle und stellt sicher, dass sie für jede Anwendung bereit sind.

Hauptmerkmale von TF SavedModels

Hier sind die wichtigsten Funktionen, die TF SavedModel zu einer guten Wahl für KI-Entwickler machen:

  • Portabilität: TF SavedModel bietet ein sprachneutrales, wiederherstellbares, hermetisches Serialisierungsformat. Sie ermöglichen es übergeordneten Systemen und Tools, TensorFlow Modelle zu erstellen, zu konsumieren und zu transformieren. SavedModels lassen sich leicht über verschiedene Plattformen und Umgebungen hinweg austauschen und einsetzen.

  • Einfacher Einsatz: 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 Schlussfolgerungen verwendet werden, ohne dass der ursprüngliche Code, der das Modell erstellt hat, benötigt wird. Das macht den Einsatz von TensorFlow Modellen in verschiedenen Produktionsumgebungen einfach und effizient.

  • Asset Management: TF SavedModel unterstützt die Einbindung von externen Assets wie Vokabularien, Einbettungen oder Nachschlagetabellen. Diese Ressourcen werden zusammen mit der Graphen-Definition und den Variablen gespeichert, damit sie verfügbar sind, wenn das Modell geladen wird. Diese Funktion vereinfacht die Verwaltung und Verteilung von Modellen, die auf externe Ressourcen angewiesen sind.

Einsatzoptionen mit TF SavedModel

Bevor wir uns mit dem Export von YOLOv8 Modellen in das Format TF SavedModel befassen, wollen wir einige typische Einsatzszenarien untersuchen, in denen dieses Format verwendet wird.

TF SavedModel bietet eine Reihe von Optionen für den Einsatz deiner Machine Learning-Modelle:

  • TensorFlow Servieren: TensorFlow Serving ist ein flexibles, leistungsstarkes Serving-System, das für Produktionsumgebungen entwickelt wurde. Es unterstützt TF SavedModels und macht es einfach, deine Modelle auf Cloud-Plattformen, Servern vor Ort oder Edge-Geräten bereitzustellen.

  • 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 den Betrieb von TensorFlow Modellen, einschließlich TF SavedModels. Diese Dienste stellen eine skalierbare und verwaltete Infrastruktur zur Verfügung, mit der du deine Modelle einfach einsetzen und skalieren kannst.

  • Mobile und eingebettete Geräte: TensorFlow Lite, eine leichtgewichtige 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. So kannst du deine Modelle auf einer Vielzahl von Geräten einsetzen, von Smartphones und Tablets bis hin zu Mikrocontrollern und Edge-Geräten.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) ist eine leistungsstarke 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 als die Standard-Runtime TensorFlow . Sie eignet sich für Einsatzszenarien, die eine geringe Latenzzeit und eine enge Integration in bestehende C++-Codebasen erfordern.

Exportieren von YOLOv8 Modellen nach TF SavedModel

Indem du die Modelle von YOLOv8 in das Format TF SavedModel exportierst, verbesserst du ihre Anpassungsfähigkeit und ihren einfachen Einsatz auf verschiedenen Plattformen.

Installation

Um das benötigte Paket zu installieren, führe es aus:

Installation

# Install the required package for YOLOv8
pip install ultralytics

Ausführliche Anweisungen und bewährte Verfahren für den Installationsprozess findest du in unserem Ultralytics Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Verwendung

Bevor du dich mit den Nutzungshinweisen beschäftigst, solltest du wissen, dass alle Modelle vonUltralytics YOLOv8 exportiert werden können. Hier kannst du sicherstellen, dass das von dir ausgewählte Modell die Exportfunktion unterstützt.

Verwendung

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TF SavedModel format
model.export(format='saved_model')  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO('./yolov8n_saved_model')

# Run inference
results = tf_savedmodel_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

# Run inference with the exported model
yolo predict model='./yolov8n_saved_model' source='https://ultralytics.com/images/bus.jpg'

Weitere Details zu den unterstützten Exportoptionen findest du auf der Ultralytics Dokumentationsseite zu den Bereitstellungsoptionen.

Einsatz von exportierten YOLOv8 TF SavedModel Modellen

Nachdem du dein YOLOv8 Modell in das TF SavedModel Format exportiert hast, ist der nächste Schritt, es einzusetzen. Der wichtigste und empfohlene erste Schritt für die Ausführung eines TF GraphDef Modells ist die Verwendung der Methode YOLO("./yolov8n_saved_model"), wie zuvor im Code-Schnipsel zur Verwendung gezeigt.

Ausführliche Anleitungen für den Einsatz deiner TF SavedModel Modelle findest du in den folgenden Ressourcen:

Zusammenfassung

In diesem Leitfaden haben wir untersucht, wie man Ultralytics YOLOv8 Modelle in das TF SavedModel Format exportiert. Durch den Export nach TF SavedModel erhältst du die Flexibilität, deine YOLOv8 Modelle auf einer Vielzahl von Plattformen zu optimieren, einzusetzen und zu skalieren.

Weitere Einzelheiten zur Verwendung findest du in der offiziellen DokumentationTF SavedModel .

Weitere Informationen zur Integration von Ultralytics YOLOv8 mit anderen Plattformen und Frameworks findest du in unserem Integrationsleitfaden. Sie ist vollgepackt mit großartigen Ressourcen, die dir helfen, das Beste aus YOLOv8 in deinen Projekten zu machen.



Erstellt am 2024-03-23, Aktualisiert am 2024-04-02
Autoren: Burhan-Q (1), abirami-vina (1)

Kommentare