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.

Wenn du deine Ultralytics YOLOv8 Modelle in das PaddlePaddle Format exportierst, kannst du die Stärken von PaddlePaddlebei der Leistungsoptimierung nutzen. PaddlePaddle legt den Schwerpunkt auf eine effiziente Modellausführung und eine geringere Speichernutzung. Dadurch können deine YOLOv8 Modelle 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.



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

Kommentare