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 bieten eine skalierbare und verwaltete Infrastruktur, 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 Laufzeit: TensorFlow Laufzeit (tfrt) ist eine hochperformante Runtime zur Ausf├╝hrung TensorFlow Schaubilder. Es bietet APIs auf niedrigerer Ebene zum Laden und Ausf├╝hren TF SavedModels in C++-Umgebungen. TensorFlow Runtime bietet bessere Performance im Vergleich zum Standard TensorFlow Laufzeit. Es eignet sich f├╝r Bereitstellungsszenarien, die Inferenz mit geringer Latenz und eine enge Integration in vorhandene 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.

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 ganz einfach. Dazu kannst du entweder Python oder CLI verwenden:

Exportieren von YOLOv8 nach TF SavedModel

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 for inference
tf_savedmodel_model = YOLO("./yolov8n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLOv8 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 Informationen findest du in der DokumentationUltralytics Export.

Warum sollte ich das Format TensorFlow SavedModel verwenden?

Das Format TensorFlow SavedModel bietet mehrere Vorteile f├╝r den Einsatz der Modelle:

  • ├ťbertragbarkeit: Es bietet ein sprachneutrales Format, das die gemeinsame Nutzung und den Einsatz von Modellen in verschiedenen Umgebungen erleichtert.
  • Kompatibilit├Ąt: Integriert sich nahtlos in Tools wie TensorFlow Serving, TensorFlow Lite und TensorFlow.js, die f├╝r den Einsatz von Modellen auf verschiedenen Plattformen, einschlie├člich Web- und Mobilanwendungen, unerl├Ąsslich sind.
  • Vollst├Ąndige Verkapselung: Verschl├╝sselt die Modellarchitektur, die Gewichte und die Kompilierungsinformationen und erm├Âglicht so eine unkomplizierte Weitergabe und Fortsetzung des Trainings.

Weitere Vorteile und Einsatzm├Âglichkeiten findest du unter Ultralytics YOLO model deployment options.

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 ein skalierbares und leistungsstarkes Model Serving erfordern.
  • Cloud-Plattformen: Unterst├╝tzt die wichtigsten Cloud-Dienste wie Google Cloud Platform (GCP), Amazon Web Services (AWS) und Microsoft Azure f├╝r eine skalierbare Modellbereitstellung.
  • Mobile und eingebettete Ger├Ąte: Die Umwandlung von TF SavedModels mit TensorFlow Lite erm├Âglicht den Einsatz auf mobilen Ger├Ąten, IoT-Ger├Ąten und Mikrocontrollern.
  • TensorFlow Laufzeit: F├╝r C++-Umgebungen, die Inferenzen mit niedriger Latenz und besserer Leistung ben├Âtigen.

Ausf├╝hrliche Informationen zu den Einsatzm├Âglichkeiten findest du in den offiziellen Leitf├Ąden zum Einsatz der TensorFlow Modelle.

Wie kann ich die notwendigen Pakete installieren, um YOLOv8 Modelle zu exportieren?

Um YOLOv8 Modelle zu exportieren, musst du die ultralytics Paket. F├╝hre den folgenden Befehl in deinem Terminal aus:

pip install ultralytics

Ausf├╝hrlichere Installationsanweisungen und Best Practices findest du in unserem Ultralytics Installationsleitfaden. Wenn du auf Probleme st├Â├čt, sieh in unserem Leitfaden f├╝r allgemeine Probleme nach.

Was sind die wichtigsten Merkmale des Formats TensorFlow SavedModel ?

TF SavedModel Format ist f├╝r KI-Entwickler aufgrund der folgenden Merkmale von Vorteil:

  • Portabilit├Ąt: Erm├Âglicht die gemeinsame Nutzung und den m├╝helosen Einsatz in verschiedenen Umgebungen.
  • Einfacher Einsatz: Verkapselt den Berechnungsgraphen, die trainierten Parameter und die Metadaten in einem einzigen Paket, was das Laden und die Schlussfolgerungen vereinfacht.
  • Asset Management: Unterst├╝tzt externe Assets wie Vokabulare und stellt sicher, dass sie beim Laden des Modells verf├╝gbar sind.

Weitere Einzelheiten findest du in der offiziellen Dokumentation TensorFlow .



Erstellt 2024-03-23, Aktualisiert 2024-07-05
Autoren: glenn-jocher (5), Burhan-Q (1), abirami-vina (1)

Kommentare