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