Overslaan naar inhoud

Hoe exporteren naar PaddlePaddle formaat van YOLOv8 modellen

Het overbruggen van de kloof tussen het ontwikkelen en implementeren van computervisiemodellen in real-world scenario's met wisselende omstandigheden kan moeilijk zijn. PaddlePaddle maakt dit proces eenvoudiger door de focus op flexibiliteit, prestaties en de mogelijkheid tot parallelle verwerking in gedistribueerde omgevingen. Dit betekent dat je je YOLOv8 computervisiemodellen kunt gebruiken op een groot aantal verschillende apparaten en platforms, van smartphones tot cloud-gebaseerde servers.

De mogelijkheid om te exporteren naar het modelformaat PaddlePaddle maakt het mogelijk om je modellen te optimaliseren voor gebruik in het framework . Ultralytics YOLOv8 modellen optimaliseren voor gebruik in het PaddlePaddle framework. PaddlePaddle staat bekend om het vergemakkelijken van industriƫle implementaties en is een goede keuze voor het implementeren van computer vision toepassingen in real-world omgevingen in verschillende domeinen.

Waarom zou je exporteren naar PaddlePaddle?

PaddlePaddle Logo

Ontwikkeld door Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) is het eerste open-source deep learning platform in China. In tegenstelling tot sommige frameworks die voornamelijk voor onderzoek zijn gebouwd, geeft PaddlePaddle prioriteit aan gebruiksgemak en soepele integratie in verschillende industrieƫn.

Het biedt tools en hulpmiddelen die vergelijkbaar zijn met populaire frameworks zoals TensorFlow en PyTorch, waardoor het toegankelijk is voor ontwikkelaars van alle ervaringsniveaus. Van landbouw en fabrieken tot dienstverlenende bedrijven, PaddlePaddle's grote ontwikkelaarsgemeenschap van meer dan 4,77 miljoen helpt bij het maken en implementeren van AI-toepassingen.

Door uw Ultralytics YOLOv8 modellen tot PaddlePaddle formaat, kunt u gebruikmaken van PaddlePaddle's sterke punten op het gebied van prestatie-optimalisatie. PaddlePaddle geeft prioriteit aan een efficiƫnte uitvoering van het model en minder geheugengebruik. Als gevolg hiervan is uw YOLOv8 Modellen kunnen mogelijk nog betere prestaties leveren en in praktische scenario's eersteklas resultaten opleveren.

Belangrijkste kenmerken van PaddlePaddle modellen

PaddlePaddle modellen bieden een reeks belangrijke eigenschappen die bijdragen aan hun flexibiliteit, prestaties en schaalbaarheid in diverse implementatiescenario's:

  • Dynamisch-naar-statische grafiek: PaddlePaddle ondersteunt dynamisch-naar-statische compilatie, waarbij modellen kunnen worden vertaald naar een statische rekengrafiek. Dit maakt optimalisaties mogelijk die de runtime overhead verminderen en de inferentieprestaties verbeteren.

  • Operatorenfusie: PaddlePaddle maakt, net als TensorRT, gebruik van operator fusie om berekeningen te stroomlijnen en overhead te verminderen. Het raamwerk minimaliseert geheugenoverdracht en rekenstappen door compatibele operaties samen te voegen, wat resulteert in snellere inferentie.

  • Quantisatie: PaddlePaddle ondersteunt quantisatietechnieken, waaronder post-training quantisatie en quantisatie-bewuste training. Deze technieken maken het gebruik van gegevensrepresentaties met lagere precisie mogelijk, waardoor de prestaties effectief worden verbeterd en de modelgrootte wordt verkleind.

Inzetmogelijkheden in PaddlePaddle

Laten we, voordat we in de code duiken voor het exporteren van YOLOv8 modellen naar PaddlePaddle, eens kijken naar de verschillende inzetscenario's waarin PaddlePaddle modellen uitblinken.

PaddlePaddle biedt een reeks opties, elk met een eigen balans tussen gebruiksgemak, flexibiliteit en prestaties:

  • Paddle Serving: Dit framework vereenvoudigt de inzet van PaddlePaddle modellen als krachtige RESTful API's. Paddle Serving is ideaal voor productieomgevingen en biedt functies zoals modelversie, online A/B-testen en schaalbaarheid voor het verwerken van grote hoeveelheden aanvragen.

  • Paddle Inferentie API: De Paddle Inference API geeft je controle op laag niveau over de uitvoering van het model. Deze optie is zeer geschikt voor scenario's waarin je het model nauw moet integreren in een aangepaste toepassing of de prestaties moet optimaliseren voor specifieke hardware.

  • Paddle Lite: Paddle Lite is ontworpen voor gebruik op mobiele en embedded apparaten waar de middelen beperkt zijn. Het optimaliseert modellen voor kleinere afmetingen en snellere inferentie op ARM CPU's, GPU's en andere gespecialiseerde hardware.

  • Paddle.js: Met Paddle.js kun je PaddlePaddle modellen direct in webbrowsers implementeren. Paddle.js kan een voorgetraind model laden of een model van paddle-hub transformeren met de model-transformatiegereedschappen van Paddle.js. Het kan draaien in browsers die WebGL/WebGPU/WebAssembly ondersteunen.

Exporteren naar PaddlePaddle: Je model YOLOv8 converteren

Het converteren van YOLOv8 modellen naar het PaddlePaddle formaat kan de uitvoeringsflexibiliteit verbeteren en de prestaties optimaliseren voor verschillende implementatiescenario's.

Installatie

Voer het volgende uit om het vereiste pakket te installeren:

Installatie

# Install the required package for YOLOv8
pip install ultralytics

Bekijk voor gedetailleerde instructies en best practices met betrekking tot het installatieproces onze Ultralytics Installatiegids. Als je tijdens de installatie van de vereiste pakketten voor YOLOv8 problemen tegenkomt, raadpleeg dan onze gids Veelgestelde problemen voor oplossingen en tips.

Gebruik

Voordat je in de gebruiksinstructies duikt, is het belangrijk om op te merken dat alle Ultralytics YOLOv8 modellen beschikbaar zijn voor exporteren, maar dat je hier kunt controleren of het model dat je kiest de exportfunctionaliteit ondersteunt.

Gebruik

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'

Ga voor meer informatie over ondersteunde exportopties naar de Ultralytics documentatiepagina over implementatieopties.

Geƫxporteerde YOLOv8 PaddlePaddle modellen inzetten

Na het succesvol exporteren van je Ultralytics YOLOv8 modellen naar PaddlePaddle formaat, kun je ze nu inzetten. De primaire en aanbevolen eerste stap voor het uitvoeren van een PaddlePaddle model is het gebruik van de YOLO("./model_paddle_model") methode, zoals beschreven in het vorige codefragment.

Voor uitgebreide instructies over het inzetten van je PaddlePaddle modellen in verschillende andere omgevingen, kun je een kijkje nemen in de volgende bronnen:

  • Peddelen: Leer hoe je je PaddlePaddle modellen kunt inzetten als performante services met Paddle Serving.

  • Paddle Lite: Ontdek hoe je modellen kunt optimaliseren en implementeren op mobiele en embedded apparaten met Paddle Lite.

  • Paddle.js: Ontdek hoe je PaddlePaddle modellen kunt uitvoeren in webbrowsers voor AI aan de cliĆ«ntzijde met Paddle.js.

Samenvatting

In deze handleiding hebben we het proces van het exporteren van Ultralytics YOLOv8 modellen naar het PaddlePaddle formaat onderzocht. Door deze stappen te volgen, kun je de sterke punten van PaddlePaddle benutten in verschillende implementatiescenario's en je modellen optimaliseren voor verschillende hardware- en softwareomgevingen.

Ga voor meer informatie over het gebruik naar de officiƫle documentatie opPaddlePaddle

Wil je meer manieren ontdekken om je Ultralytics YOLOv8 modellen te integreren? Onze integratiegidspagina verkent verschillende opties en voorziet je van waardevolle bronnen en inzichten.

FAQ

Hoe exporteer ik Ultralytics YOLOv8 modellen naar PaddlePaddle formaat?

Het exporteren van Ultralytics YOLOv8 modellen naar PaddlePaddle formaat is eenvoudig. Je kunt de export methode van de YOLO klasse om deze export uit te voeren. Hier is een voorbeeld met Python:

Gebruik

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'

Raadpleeg voor meer gedetailleerde installatie en probleemoplossing de Ultralytics Installatiegids en Handleiding voor veelvoorkomende problemen.

Wat zijn de voordelen van het gebruik van PaddlePaddle voor modelimplementatie?

PaddlePaddle biedt een aantal belangrijke voordelen voor het inzetten van modellen:

  • Prestatieoptimalisatie: PaddlePaddle blinkt uit in efficiĆ«nte modeluitvoering en minder geheugengebruik.
  • Dynamisch-naar-statisch compileren van grafieken: Het ondersteunt dynamisch-naar-statisch compileren, waardoor runtime optimalisaties mogelijk zijn.
  • Operator samenvoegen: Door compatibele operaties samen te voegen, wordt de rekenoverhead verminderd.
  • Kwantiseringstechnieken: Ondersteunt zowel post-training als kwantiseringsbewuste training, waardoor datavoorstellingen met lagere precisie mogelijk zijn voor betere prestaties.

Je kunt verbeterde resultaten bereiken door je Ultralytics YOLOv8 modellen te exporteren naar PaddlePaddle, waardoor flexibiliteit en hoge prestaties voor verschillende toepassingen en hardwareplatforms gegarandeerd zijn. Lees hier meer over de functies van PaddlePaddle.

Waarom zou ik kiezen voor PaddlePaddle om mijn YOLOv8 modellen in te zetten?

PaddlePaddle, ontwikkeld door Baidu, is geoptimaliseerd voor industriƫle en commerciƫle AI-implementaties. De grote ontwikkelaarsgemeenschap en het robuuste framework bieden uitgebreide tools die vergelijkbaar zijn met TensorFlow en PyTorch. Door je YOLOv8 modellen te exporteren naar PaddlePaddle maak je gebruik van:

  • Verbeterde prestaties: Optimale uitvoeringssnelheid en minder geheugen.
  • Flexibiliteit: Brede compatibiliteit met verschillende apparaten, van smartphones tot cloudservers.
  • Schaalbaarheid: EfficiĆ«nte parallelle verwerkingsmogelijkheden voor gedistribueerde omgevingen.

Deze functies maken PaddlePaddle een aantrekkelijke keuze voor het inzetten van YOLOv8 modellen in productieomgevingen.

Hoe verbetert PaddlePaddle de modelprestaties ten opzichte van andere raamwerken?

PaddlePaddle maakt gebruik van verschillende geavanceerde technieken om de prestaties van het model te optimaliseren:

  • Dynamisch-naar-statische grafiek: Converteert modellen naar een statische computationele grafiek voor runtime optimalisaties.
  • Operator samenvoegen: Combineert compatibele operaties om geheugenoverdracht te minimaliseren en inferentiesnelheid te verhogen.
  • Kwantisering: Verkleint het model en verhoogt de efficiĆ«ntie bij gebruik van gegevens met lagere precisie, terwijl de nauwkeurigheid behouden blijft.

Deze technieken geven prioriteit aan efficiƫnte modeluitvoering, waardoor PaddlePaddle een uitstekende optie is voor het implementeren van krachtige YOLOv8 modellen. Meer over optimalisatie is te vinden in de officiƫle documentatie vanPaddlePaddle .

Welke implementatieopties biedt PaddlePaddle voor YOLOv8 modellen?

PaddlePaddle biedt flexibele inzetmogelijkheden:

  • Paddle Serving: Implementeert modellen als RESTful API's, ideaal voor productie met functies als modelversiebeheer en online A/B-testen.
  • Paddle Inferentie API: Geeft controle op laag niveau over de uitvoering van modellen voor aangepaste toepassingen.
  • Paddle Lite: Optimaliseert modellen voor de beperkte bronnen van mobiele en embedded apparaten.
  • Paddle.js: Hiermee kunnen modellen direct in webbrowsers worden ingezet.

Deze opties dekken een breed scala aan implementatiescenario's, van inferentie op het apparaat tot schaalbare cloudservices. Ontdek meer implementatiestrategieƫn op de paginaUltralytics Model Deployment Options.



Aangemaakt 2024-03-11, Bijgewerkt 2024-07-05
Auteurs: glenn-jocher (5), Burhan-Q (1), abirami-vina (2)

Reacties