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 je Ultralytics YOLOv8 modellen te exporteren naar het PaddlePaddle formaat, kun je profiteren van de sterke punten van PaddlePaddleop het gebied van prestatieoptimalisatie. PaddlePaddle geeft prioriteit aan efficiƫnte modeluitvoering en minder geheugengebruik. Hierdoor kunnen je YOLOv8 modellen mogelijk nog beter presteren, waardoor ze in praktische scenario's uitstekende resultaten leveren.

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.



Gemaakt op 2024-03-11, Bijgewerkt op 2024-04-02
Auteurs: Burhan-Q (1), abirami-vina (2)

Reacties