Zum Inhalt springen

Exportieren von YOLOv8 Modellen in das Format PaddlePaddle

Der Spagat zwischen der Entwicklung und dem Einsatz von Computer-Vision-Modellen in realen Szenarien mit unterschiedlichen Bedingungen kann schwierig sein. PaddlePaddle erleichtert diesen Prozess durch seinen Fokus auf Flexibilit├Ąt, Leistung und seine F├Ąhigkeit zur parallelen Verarbeitung in verteilten Umgebungen. Das bedeutet, dass du deine YOLOv8 Computer-Vision-Modelle auf einer Vielzahl von Ger├Ąten und Plattformen einsetzen kannst, von Smartphones bis hin zu Cloud-basierten Servern.

Die M├Âglichkeit, Modelle in das Format PaddlePaddle zu exportieren, erm├Âglicht es dir, deine Ultralytics YOLOv8 Modelle f├╝r die Verwendung innerhalb des PaddlePaddle Frameworks zu optimieren. PaddlePaddle ist daf├╝r bekannt, dass es den industriellen Einsatz erleichtert und ist eine gute Wahl f├╝r den Einsatz von Computer-Vision-Anwendungen in realen Umgebungen in verschiedenen Bereichen.

Warum solltest du auf PaddlePaddle exportieren?

PaddlePaddle Logo

Entwickelt von Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) ist Chinas erste Open-Source-Plattform f├╝r Deep Learning. Im Gegensatz zu anderen Frameworks, die haupts├Ąchlich f├╝r die Forschung entwickelt wurden, legt PaddlePaddle den Schwerpunkt auf eine einfache Nutzung und eine reibungslose Integration in verschiedene Branchen.

Es bietet ├Ąhnliche Tools und Ressourcen wie beliebte Frameworks wie TensorFlow und PyTorch und ist damit f├╝r Entwickler aller Erfahrungsstufen zug├Ąnglich. Von der Landwirtschaft ├╝ber Fabriken bis hin zu Dienstleistungsunternehmen - die gro├če Entwicklergemeinschaft von PaddlePaddle mit ├╝ber 4,77 Millionen Menschen hilft bei der Entwicklung und dem Einsatz von KI-Anwendungen.

Durch den Export Ihrer Ultralytics YOLOv8 Modelle bis hin zu PaddlePaddle -Format k├Ânnen Sie PaddlePaddleSt├Ąrken der Performance-Optimierung. PaddlePaddle Priorisiert eine effiziente Modellausf├╝hrung und eine reduzierte Speichernutzung. Infolgedessen wird Ihr YOLOv8 Modelle k├Ânnen potenziell eine noch bessere Leistung erzielen und in praktischen Szenarien erstklassige Ergebnisse liefern.

Die wichtigsten Merkmale der PaddlePaddle Modelle

PaddlePaddle Modelle bieten eine Reihe von Schl├╝sselfunktionen, die zu ihrer Flexibilit├Ąt, Leistung und Skalierbarkeit in verschiedenen Einsatzszenarien beitragen:

  • Dynamischer-zu-statischer Graph: PaddlePaddle unterst├╝tzt die dynamische-zu-statische Kompilierung, bei der Modelle in einen statischen Berechnungsgraphen ├╝bersetzt werden k├Ânnen. Dies erm├Âglicht Optimierungen, die den Laufzeit-Overhead reduzieren und die Inferenzleistung erh├Âhen.

  • Operator Fusion: PaddlePaddle Wie TensorRT nutzt auch das Framework Operator Fusion, um Berechnungen zu rationalisieren und den Overhead zu reduzieren. Durch die Zusammenlegung kompatibler Operationen werden Speicher├╝bertragungen und Rechenschritte minimiert, was zu schnelleren Schlussfolgerungen f├╝hrt.

  • Quantisierung: PaddlePaddle unterst├╝tzt Quantisierungstechniken, einschlie├člich Quantisierung nach dem Training und quantisierungsorientiertes Training. Diese Techniken erm├Âglichen die Verwendung von Datenrepr├Ąsentationen mit geringerer Genauigkeit, wodurch die Leistung effektiv gesteigert und die Modellgr├Â├če verringert wird.

Einsatzoptionen in PaddlePaddle

Bevor wir uns mit dem Code f├╝r den Export von YOLOv8 Modellen nach PaddlePaddle besch├Ąftigen, werfen wir einen Blick auf die verschiedenen Einsatzszenarien, in denen sich PaddlePaddle Modelle auszeichnen.

PaddlePaddle bietet eine Reihe von Optionen, von denen jede ein ausgewogenes Verh├Ąltnis von Benutzerfreundlichkeit, Flexibilit├Ąt und Leistung bietet:

  • Paddle Serving: Dieses Framework vereinfacht die Bereitstellung von PaddlePaddle Modellen als leistungsstarke RESTful APIs. Paddle Serving ist ideal f├╝r Produktionsumgebungen und bietet Funktionen wie Modellversionierung, Online-A/B-Tests und Skalierbarkeit f├╝r die Verarbeitung gro├čer Mengen von Anfragen.

  • Paddle Inference API: Mit der Paddle Inference API kannst du die Ausf├╝hrung des Modells auf niedriger Ebene steuern. Diese Option eignet sich gut f├╝r Szenarien, in denen du das Modell eng in eine benutzerdefinierte Anwendung integrieren oder die Leistung f├╝r bestimmte Hardware optimieren musst.

  • Paddle Lite: Paddle Lite wurde f├╝r den Einsatz auf mobilen und eingebetteten Ger├Ąten entwickelt, wo die Ressourcen begrenzt sind. Es optimiert die Modelle f├╝r kleinere Gr├Â├čen und schnellere Inferenzen auf ARM-CPUs, GPUs und anderer Spezialhardware.

  • Paddle.js: Paddle.js erm├Âglicht es dir, PaddlePaddle Modelle direkt im Webbrowser einzusetzen. Paddle.js kann entweder ein vortrainiertes Modell laden oder ein Modell von paddle-hub mit den von Paddle.js bereitgestellten Modellumwandlungswerkzeugen umwandeln. Es kann in Browsern ausgef├╝hrt werden, die WebGL/WebGPU/WebAssembly unterst├╝tzen.

Exportieren nach PaddlePaddle: Konvertiere dein YOLOv8 Modell

Die Konvertierung von YOLOv8 Modellen in das PaddlePaddle Format kann die Ausf├╝hrungsflexibilit├Ąt verbessern und die Leistung f├╝r verschiedene Einsatzszenarien optimieren.

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 PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_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 PaddlePaddle Modellen

Nachdem du deine Ultralytics YOLOv8 Modelle erfolgreich in das PaddlePaddle Format exportiert hast, kannst du sie nun einsetzen. Der wichtigste und empfohlene erste Schritt zum Ausf├╝hren eines PaddlePaddle Modells ist die Verwendung der Methode YOLO("./model_paddle_model"), wie im vorherigen Codeausschnitt beschrieben.

Ausf├╝hrliche Anleitungen f├╝r den Einsatz deiner PaddlePaddle Modelle in verschiedenen anderen Umgebungen findest du in den folgenden Ressourcen:

  • Paddeln Servieren: Lerne, wie du deine PaddlePaddle Modelle mit Paddle Serving als performante Dienste bereitstellst.

  • Paddel Lite: Erfahre, wie du mit Paddle Lite Modelle auf mobilen und eingebetteten Ger├Ąten optimieren und einsetzen kannst.

  • Paddel.js: Entdecke, wie du mit Paddle.js PaddlePaddle Modelle in Webbrowsern f├╝r client-seitige KI ausf├╝hren kannst.

Zusammenfassung

In diesem Leitfaden haben wir den Prozess des Exports von Ultralytics YOLOv8 Modellen in das PaddlePaddle Format untersucht. Wenn du diese Schritte befolgst, kannst du die St├Ąrken von PaddlePaddle in verschiedenen Einsatzszenarien nutzen und deine Modelle f├╝r unterschiedliche Hardware- und Softwareumgebungen optimieren.

Weitere Einzelheiten zur Verwendung findest du in der offiziellen DokumentationPaddlePaddle

M├Âchtest du weitere M├Âglichkeiten zur Integration deiner Ultralytics YOLOv8 Modelle kennenlernen? Unser Integrationsleitfaden zeigt dir verschiedene M├Âglichkeiten auf und versorgt dich mit wertvollen Ressourcen und Erkenntnissen.

FAQ

Wie exportiere ich Ultralytics YOLOv8 Modelle in das Format PaddlePaddle ?

Das Exportieren von Ultralytics YOLOv8 Modellen in das PaddlePaddle Format ist ganz einfach. Du kannst die export Methode der Klasse YOLO , um diesen Export durchzuf├╝hren. Hier ist ein Beispiel mit Python:

Verwendung

from ultralytics import YOLO

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

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

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

Ausf├╝hrlichere Informationen zur Einrichtung und Fehlerbehebung findest du in der Ultralytics Installationsanleitung und im Leitfaden f├╝r h├Ąufige Probleme.

Welche Vorteile hat die Verwendung von PaddlePaddle f├╝r die Modellbereitstellung?

PaddlePaddle bietet mehrere entscheidende Vorteile f├╝r den Einsatz von Modellen:

  • Leistungsoptimierung: PaddlePaddle zeichnet sich durch eine effiziente Modellausf├╝hrung und einen geringeren Speicherbedarf aus.
  • Dynamisch-statische Graph-Kompilierung: Sie unterst├╝tzt die Kompilierung von dynamisch zu statisch und erm├Âglicht so Laufzeitoptimierungen.
  • Operator Fusion: Durch das Zusammenf├╝hren kompatibler Operationen wird der Rechenaufwand reduziert.
  • Quantisierungstechniken: Unterst├╝tzt sowohl das Post-Training als auch das Quantisierungs-Training und erm├Âglicht so die Darstellung von Daten mit geringerer Genauigkeit f├╝r eine bessere Leistung.

Du kannst bessere Ergebnisse erzielen, indem du deine Ultralytics YOLOv8 Modelle nach PaddlePaddle exportierst und damit Flexibilit├Ąt und hohe Leistung f├╝r verschiedene Anwendungen und Hardwareplattformen sicherstellst. Hier erf├Ąhrst du mehr ├╝ber die Funktionen von PaddlePaddle.

Warum sollte ich PaddlePaddle f├╝r die Bereitstellung meiner YOLOv8 Modelle w├Ąhlen?

PaddlePaddlewurde von Baidu entwickelt und ist f├╝r den industriellen und kommerziellen Einsatz von KI optimiert. Die gro├če Entwicklergemeinschaft und das robuste Framework bieten umfangreiche Tools, die denen von TensorFlow und PyTorch ├Ąhneln. Indem du deine YOLOv8 Modelle nach PaddlePaddle exportierst, kannst du sie nutzen:

  • Verbesserte Leistung: Optimale Ausf├╝hrungsgeschwindigkeit und geringerer Speicherbedarf.
  • Flexibilit├Ąt: Breite Kompatibilit├Ąt mit verschiedenen Ger├Ąten von Smartphones bis zu Cloud-Servern.
  • Skalierbarkeit: Effiziente Parallelverarbeitungsfunktionen f├╝r verteilte Umgebungen.

Diese Funktionen machen PaddlePaddle zu einer ├╝berzeugenden Wahl f├╝r den Einsatz von YOLOv8 Modellen in Produktionsumgebungen.

Wie verbessert PaddlePaddle die Modellleistung gegen├╝ber anderen Frameworks?

PaddlePaddle setzt mehrere fortschrittliche Techniken ein, um die Leistung des Modells zu optimieren:

  • Dynamisch-statischer Graph: Konvertiert Modelle in einen statischen Berechnungsgraphen f├╝r Laufzeitoptimierungen.
  • Operator Fusion: Kombiniert kompatible Operationen, um die Speicher├╝bertragung zu minimieren und die Schlussfolgerungsgeschwindigkeit zu erh├Âhen.
  • Quantisierung: Verringert die Modellgr├Â├če und erh├Âht die Effizienz durch die Verwendung von Daten mit geringerer Genauigkeit, ohne die Genauigkeit zu beeintr├Ąchtigen.

Diese Techniken stellen eine effiziente Modellausf├╝hrung in den Vordergrund und machen PaddlePaddle zu einer hervorragenden Option f├╝r den Einsatz von leistungsstarken YOLOv8 Modellen. Weitere Informationen zur Optimierung findest du in der offiziellen DokumentationPaddlePaddle .

Welche Einsatzm├Âglichkeiten bietet PaddlePaddle f├╝r YOLOv8 Modelle?

PaddlePaddle bietet flexible Einsatzm├Âglichkeiten:

  • Paddle Serving: Stellt Modelle als RESTful APIs bereit, ideal f├╝r die Produktion mit Funktionen wie Modellversionierung und Online-A/B-Tests.
  • Paddle Inference API: Erm├Âglicht die Steuerung der Modellausf├╝hrung auf niedriger Ebene f├╝r benutzerdefinierte Anwendungen.
  • Paddle Lite: Optimiert die Modelle f├╝r die begrenzten Ressourcen von mobilen und eingebetteten Ger├Ąten.
  • Paddle.js: Erm├Âglicht den Einsatz von Modellen direkt im Webbrowser.

Diese Optionen decken ein breites Spektrum an Einsatzszenarien ab, von der Inferenz auf dem Ger├Ąt bis hin zu skalierbaren Cloud-Diensten. Weitere Einsatzstrategien findest du auf der SeiteUltralytics Einsatzoptionen f├╝r das Modell.



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

Kommentare