Vai al contenuto

Come esportare in formato PaddlePaddle dai modelli di YOLOv8

Colmare il divario tra lo sviluppo e l'implementazione di modelli di computer vision in scenari reali con condizioni variabili può essere difficile. PaddlePaddle rende questo processo più semplice grazie alla sua attenzione alla flessibilità, alle prestazioni e alla sua capacità di elaborazione parallela in ambienti distribuiti. Ciò significa che puoi utilizzare i tuoi modelli di computer vision YOLOv8 su un'ampia gamma di dispositivi e piattaforme, dagli smartphone ai server basati su cloud.

La possibilità di esportare il modello nel formato PaddlePaddle ti permette di ottimizzare i tuoi modelli per l'uso nel framework . Ultralytics YOLOv8 modelli per l'utilizzo all'interno del framework PaddlePaddle . PaddlePaddle è noto per facilitare le implementazioni industriali ed è un'ottima scelta per l'implementazione di applicazioni di computer vision in contesti reali in vari ambiti.

Perché dovresti esportare su PaddlePaddle?

PaddlePaddle Logo

Sviluppato da Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) è la prima piattaforma open-source di deep learning della Cina. A differenza di alcuni framework costruiti principalmente per la ricerca, PaddlePaddle dà la priorità alla facilità d'uso e all'integrazione nei vari settori.

Offre strumenti e risorse simili a framework popolari come TensorFlow e PyTorch, rendendolo accessibile agli sviluppatori di qualsiasi livello di esperienza. Dall'agricoltura alle fabbriche, fino alle aziende di servizi, la grande comunità di sviluppatori di PaddlePaddle, che conta oltre 4,77 milioni di persone, sta aiutando a creare e distribuire applicazioni di intelligenza artificiale.

Esportando i tuoi modelli Ultralytics YOLOv8 in formato PaddlePaddle , puoi sfruttare i punti di forza di PaddlePaddleper l'ottimizzazione delle prestazioni. PaddlePaddle dà priorità all'esecuzione efficiente dei modelli e alla riduzione dell'uso della memoria. Di conseguenza, i tuoi modelli YOLOv8 possono potenzialmente ottenere prestazioni ancora migliori, fornendo risultati di altissimo livello in scenari pratici.

Caratteristiche principali dei modelli PaddlePaddle

PaddlePaddle I modelli offrono una serie di caratteristiche chiave che contribuiscono alla loro flessibilità, alle prestazioni e alla scalabilità in diversi scenari di implementazione:

  • Grafo dinamico-statico: PaddlePaddle supporta la compilazione da dinamica a statica, in cui i modelli possono essere tradotti in un grafo computazionale statico. Questo permette di ottenere ottimizzazioni che riducono l'overhead del runtime e aumentano le prestazioni dell'inferenza.

  • Fusione di operatori: PaddlePaddle, come TensorRT, utilizza la fusione di operatori per semplificare il calcolo e ridurre l'overhead. Il framework riduce al minimo i trasferimenti di memoria e le fasi di calcolo unendo operazioni compatibili, ottenendo un'inferenza più veloce.

  • Quantizzazione: PaddlePaddle supporta le tecniche di quantizzazione, tra cui la quantizzazione post-training e la formazione consapevole della quantizzazione. Queste tecniche consentono di utilizzare rappresentazioni dei dati a bassa precisione, aumentando le prestazioni e riducendo le dimensioni del modello.

Opzioni di distribuzione in PaddlePaddle

Prima di immergerci nel codice per esportare i modelli di YOLOv8 in PaddlePaddle, diamo un'occhiata ai diversi scenari di distribuzione in cui i modelli di PaddlePaddle eccellono.

PaddlePaddle offre una serie di opzioni, ognuna delle quali offre un equilibrio distinto tra facilità d'uso, flessibilità e prestazioni:

  • Paddle Serving: Questo framework semplifica la distribuzione dei modelli di PaddlePaddle come API RESTful ad alte prestazioni. Paddle Serving è ideale per gli ambienti di produzione e offre funzionalità come il versioning dei modelli, i test A/B online e la scalabilità per gestire grandi volumi di richieste.

  • API di inferenza Paddle: L'API di inferenza Paddle offre un controllo di basso livello sull'esecuzione del modello. Questa opzione è adatta agli scenari in cui devi integrare il modello in un'applicazione personalizzata o ottimizzare le prestazioni per un hardware specifico.

  • Paddle Lite: Paddle Lite è progettato per essere utilizzato su dispositivi mobili ed embedded dove le risorse sono limitate. Ottimizza i modelli per ottenere dimensioni ridotte e un'inferenza più veloce su CPU ARM, GPU e altro hardware specializzato.

  • Paddle.js: Paddle.js ti permette di distribuire i modelli di PaddlePaddle direttamente nei browser web. Paddle.js può caricare un modello pre-addestrato o trasformare un modello da paddle-hub con gli strumenti di trasformazione dei modelli forniti da Paddle.js. Può essere eseguito nei browser che supportano WebGL/WebGPU/WebAssembly.

Esportazione in PaddlePaddle: Conversione del modello YOLOv8

La conversione dei modelli YOLOv8 nel formato PaddlePaddle può migliorare la flessibilità di esecuzione e ottimizzare le prestazioni per vari scenari di distribuzione.

Installazione

Per installare il pacchetto richiesto, esegui:

Installazione

# Install the required package for YOLOv8
pip install ultralytics

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consulta la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLOv8, se dovessi incontrare delle difficoltà, consulta la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo

Prima di immergerti nelle istruzioni d'uso, è importante notare che tutti i modelli diUltralytics YOLOv8 sono disponibili per l'esportazione, ma qui puoi assicurarti che il modello che hai scelto supporti la funzionalità di esportazione.

Utilizzo

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'

Per maggiori dettagli sulle opzioni di esportazione supportate, visita la pagina di documentazione diUltralytics sulle opzioni di distribuzione.

Distribuzione dei modelli esportati di YOLOv8 PaddlePaddle

Dopo aver esportato con successo i tuoi modelli Ultralytics YOLOv8 nel formato PaddlePaddle , ora puoi distribuirli. Il primo passo primario e consigliato per eseguire un modello PaddlePaddle è quello di utilizzare il metodo YOLO("./model_paddle_model"), come indicato nel precedente frammento di codice.

Tuttavia, per istruzioni approfondite su come distribuire i modelli di PaddlePaddle in vari altri contesti, consulta le seguenti risorse:

  • Pagaia al servizio: Scopri come distribuire i tuoi modelli PaddlePaddle come servizi performanti utilizzando Paddle Serving.

  • Pagaia Lite: Scopri come ottimizzare e distribuire i modelli su dispositivi mobili ed embedded utilizzando Paddle Lite.

  • Paddle.js: Scopri come eseguire i modelli di PaddlePaddle nei browser web per l'intelligenza artificiale lato client utilizzando Paddle.js.

Sommario

In questa guida abbiamo esplorato il processo di esportazione dei modelli di Ultralytics YOLOv8 nel formato PaddlePaddle . Seguendo questi passaggi, potrai sfruttare i punti di forza di PaddlePaddle in diversi scenari di implementazione, ottimizzando i tuoi modelli per diversi ambienti hardware e software.

Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di PaddlePaddle

Vuoi scoprire altri modi per integrare i tuoi modelli Ultralytics YOLOv8 ? La nostra pagina di guida all'integrazione esplora diverse opzioni, fornendoti preziose risorse e approfondimenti.



Creato 2024-03-11, Aggiornato 2024-04-02
Autori: Burhan-Q (1), abirami-vina (2)

Commenti