Zum Inhalt springen

Wie exportiere ich von YOLOv8 nach TF GraphDef fĂŒr den Einsatz?

Wenn du hochmoderne Computer Vision Modelle wie YOLOv8 in verschiedenen Umgebungen einsetzt, kann es zu KompatibilitĂ€tsproblemen kommen. Googles TensorFlow GraphDef oder TF GraphDef bieten eine Lösung, indem sie eine serialisierte, plattformunabhĂ€ngige Darstellung deines Modells bereitstellen. Mit dem TF GraphDef Modellformat kannst du dein YOLOv8 Modell in Umgebungen einsetzen, in denen das komplette TensorFlow Ökosystem nicht zur VerfĂŒgung steht, z. B. auf mobilen GerĂ€ten oder spezieller Hardware.

In diesem Leitfaden zeigen wir dir Schritt fĂŒr Schritt, wie du deine Ultralytics YOLOv8 Modelle in das Modellformat TF GraphDef exportierst. Durch die Konvertierung deines Modells kannst du die Bereitstellung vereinfachen und die Computer Vision-Funktionen von YOLOv8 in einer breiteren Palette von Anwendungen und Plattformen nutzen.

TensorFlow GraphDef

Warum solltest du auf TF GraphDef exportieren?

TF GraphDef ist eine leistungsstarke Komponente des TensorFlow Ökosystems, die von Google entwickelt wurde. Sie kann zur Optimierung und zum Einsatz von Modellen wie YOLOv8 verwendet werden. Durch den Export nach TF GraphDef können wir Modelle von der Forschung in die reale Welt ĂŒbertragen. Damit können Modelle in Umgebungen ohne das vollstĂ€ndige TensorFlow Framework ausgefĂŒhrt werden.

Das Format GraphDef stellt das Modell als serialisierten Berechnungsgraphen dar. Dies ermöglicht verschiedene Optimierungstechniken wie Konstantenfaltung, Quantisierung und Graphentransformationen. Diese Optimierungen sorgen fĂŒr eine effiziente AusfĂŒhrung, einen geringeren Speicherbedarf und eine schnellere Inferenzgeschwindigkeit.

GraphDef Modelle können Hardware-Beschleuniger wie GPUs, TPUs und KI-Chips nutzen und so erhebliche Leistungssteigerungen fĂŒr die YOLOv8 Inferenzpipeline freisetzen. Das Format TF GraphDef erstellt ein in sich geschlossenes Paket mit dem Modell und seinen AbhĂ€ngigkeiten, was die Bereitstellung und Integration in verschiedene Systeme vereinfacht.

Die wichtigsten Merkmale der Modelle TF GraphDef

TF GraphDef bietet verschiedene Funktionen, um die Bereitstellung und Optimierung von Modellen zu vereinfachen.

Hier ein Blick auf seine wichtigsten Merkmale:

  • 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 dir, deine Modelle ohne die ursprĂŒngliche Python Codebasis zu laden und auszufĂŒhren, was die Bereitstellung erleichtert.

  • Graph-Optimierung: TF GraphDef ermöglicht die Optimierung von Berechnungsgraphen. Diese Optimierungen können die Leistung steigern, indem sie den AusfĂŒhrungsablauf straffen, Redundanzen reduzieren und die Operationen an die jeweilige Hardware anpassen.

  • FlexibilitĂ€t bei der Bereitstellung: Modelle, die in das Format GraphDef exportiert wurden, können in verschiedenen Umgebungen eingesetzt werden, z. B. auf GerĂ€ten mit eingeschrĂ€nkten Ressourcen, in Webbrowsern und auf Systemen mit spezieller Hardware. Das eröffnet Möglichkeiten fĂŒr einen breiteren Einsatz deiner TensorFlow Modelle.

  • Schwerpunkt Produktion: GraphDef ist fĂŒr den Einsatz in der Produktion konzipiert. Sie unterstĂŒtzt eine effiziente AusfĂŒhrung, Serialisierungsfunktionen und Optimierungen, die sich an realen AnwendungsfĂ€llen orientieren.

Einsatzoptionen mit TF GraphDef

Bevor wir uns mit dem Export von YOLOv8 Modellen nach TF GraphDef befassen, werfen wir einen Blick auf einige typische Einsatzsituationen, in denen dieses Format verwendet wird.

Hier erfĂ€hrst du, wie du TF GraphDef effizient ĂŒber verschiedene Plattformen hinweg einsetzen kannst.

  • TensorFlow Dienen: Dieses Framework wurde entwickelt, um TensorFlow Modelle in Produktionsumgebungen einzusetzen. TensorFlow Serving bietet Modellmanagement, Versionierung und die Infrastruktur fĂŒr effizientes Model-Serving in großem Maßstab. So kannst du deine GraphDef-basierten Modelle nahtlos in produktive Webservices oder APIs integrieren.

  • Mobile und eingebettete GerĂ€te: Mit Tools wie TensorFlow Lite kannst du TF GraphDef Modelle in Formate konvertieren, die fĂŒr Smartphones, Tablets und verschiedene eingebettete GerĂ€te optimiert sind. Deine Modelle können dann fĂŒr die Inferenz auf dem GerĂ€t verwendet werden, wo sie lokal ausgefĂŒhrt werden, was oft zu Leistungssteigerungen und Offline-FĂ€higkeiten fĂŒhrt.

  • Webbrowser: TensorFlow.js ermöglicht den Einsatz von TF GraphDef Modellen direkt in Webbrowsern. Es ebnet den Weg fĂŒr Echtzeit-Objekterkennungsanwendungen, die auf der Client-Seite laufen und die Möglichkeiten von YOLOv8 durch JavaScript nutzen.

  • Spezialisierte Hardware: TF GraphDef ist plattformunabhĂ€ngig und kann daher benutzerdefinierte Hardware, wie z. B. Beschleuniger und TPUs (Tensor Processing Units), nutzen. Diese GerĂ€te können Leistungsvorteile fĂŒr rechenintensive Modelle bieten.

Exportieren von YOLOv8 Modellen nach TF GraphDef

Du kannst dein YOLOv8 Objekterkennungsmodell in das TF GraphDef Format konvertieren, das mit verschiedenen Systemen kompatibel ist, um die Leistung auf verschiedenen Plattformen zu verbessern.

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 GraphDef format
model.export(format='pb')  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO('yolov8n.pb')

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

# Run inference with the exported model
yolo predict model='yolov8n.pb' 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 GraphDef Modellen

Sobald du dein YOLOv8 Modell in das TF GraphDef Format exportiert hast, ist der nĂ€chste Schritt die Bereitstellung. Der wichtigste und empfohlene erste Schritt, um ein TF GraphDef Modell auszufĂŒhren, ist die Verwendung der YOLO("model.pb") Methode, wie zuvor im Code-Schnipsel zur Verwendung gezeigt.

Weitere Informationen zum Einsatz deiner TF GraphDef Modelle findest du in den folgenden Ressourcen:

  • TensorFlow Bedienung von: Der Leitfaden TensorFlow Serving zeigt, wie man maschinelle Lernmodelle effizient in Produktionsumgebungen einsetzt und bedient.

  • TensorFlow Lite: Auf dieser Seite wird beschrieben, wie du mit TensorFlow Lite Modelle fĂŒr maschinelles Lernen in ein Format konvertierst, das fĂŒr Inferenzen auf dem GerĂ€t optimiert ist.

  • TensorFlow.js: Ein Leitfaden zur Modellkonvertierung, der zeigt, wie man TensorFlow oder Keras-Modelle in das TensorFlow.js-Format konvertiert, um sie in Webanwendungen zu verwenden.

Zusammenfassung

In dieser Anleitung haben wir uns angesehen, wie du Ultralytics YOLOv8 Modelle in das TF GraphDef Format exportierst. Auf diese Weise kannst du deine optimierten YOLOv8 Modelle flexibel in verschiedenen Umgebungen einsetzen.

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

Wenn du mehr ĂŒber die Integration von Ultralytics YOLOv8 mit anderen Plattformen und Frameworks wissen willst, solltest du dir unseren Integrationsleitfaden ansehen. Dort findest du tolle Ressourcen und Einblicke, die dir helfen, YOLOv8 in deinen Projekten optimal zu nutzen.



Erstellt 2024-03-22, Aktualisiert 2024-04-03
Autoren: RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

Kommentare