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