Come esportare modelli YOLO11 in formato PaddlePaddle
Colmare il divario tra lo sviluppo e il deployment di modelli di computer vision in scenari reali con condizioni variabili può essere difficile. PaddlePaddle semplifica questo processo 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 YOLO11 su un'ampia varietà di dispositivi e piattaforme, dagli smartphone ai server basati su cloud.
Guarda: Come esportare modelli Ultralytics YOLO11 in formato PaddlePaddle | Caratteristiche principali del formato PaddlePaddle
La possibilità di esportare in formato modello PaddlePaddle ti consente di ottimizzare i tuoi modelli Ultralytics YOLO11 per l'uso all'interno del framework PaddlePaddle. PaddlePaddle è noto per facilitare i deployment industriali ed è una buona scelta per il deployment di applicazioni di computer vision in contesti reali in vari settori.
Perché dovresti esportare in PaddlePaddle?
Sviluppato da Baidu, PaddlePaddle (PArallel Distributed Deep LEarning) è la prima piattaforma deep learning open source cinese. A differenza di alcuni framework creati principalmente per la ricerca, PaddlePaddle dà la priorità alla facilità d'uso e all'integrazione fluida tra i settori.
Offre strumenti e risorse simili a framework popolari come TensorFlow e PyTorch, rendendolo accessibile a sviluppatori di tutti i livelli di esperienza. Dalle aziende agricole e manifatturiere alle attività di servizi, la vasta comunità di sviluppatori di PaddlePaddle, con oltre 4,77 milioni di membri, sta contribuendo a creare e distribuire applicazioni di IA.
Esportando i tuoi modelli Ultralytics YOLO11 in formato PaddlePaddle, puoi sfruttare i punti di forza di PaddlePaddle nell'ottimizzazione delle prestazioni. PaddlePaddle dà la priorità all'esecuzione efficiente del modello e alla riduzione dell'utilizzo della memoria. Di conseguenza, i tuoi modelli YOLO11 possono potenzialmente ottenere prestazioni ancora migliori, fornendo risultati di prim'ordine in scenari pratici.
Caratteristiche principali dei modelli PaddlePaddle
I modelli PaddlePaddle offrono una gamma di caratteristiche chiave che contribuiscono alla loro flessibilità, prestazioni e scalabilità in diversi scenari di deployment:
-
Grafico dinamico-statico: PaddlePaddle supporta la compilazione dinamica-statica, in cui i modelli possono essere tradotti in un grafico computazionale statico. Ciò consente ottimizzazioni che riducono il sovraccarico di runtime e aumentano le prestazioni di inferenza.
-
Fusione di operatori: PaddlePaddle, come TensorRT, utilizza la fusione di operatori per ottimizzare il calcolo e ridurre l'overhead. Il framework riduce al minimo i trasferimenti di memoria e i passaggi computazionali unendo operazioni compatibili, ottenendo un'inferenza più rapida.
-
Quantizzazione: PaddlePaddle supporta le tecniche di quantizzazione, tra cui la quantizzazione post-training e il training con riconoscimento della quantizzazione. Queste tecniche consentono l'uso di rappresentazioni di dati a precisione inferiore, aumentando efficacemente le prestazioni e riducendo le dimensioni del modello.
Opzioni di implementazione in PaddlePaddle
Prima di immergerci nel codice per l'esportazione di modelli YOLO11 in PaddlePaddle, diamo un'occhiata ai diversi scenari di deployment in cui i modelli PaddlePaddle eccellono.
PaddlePaddle offre una gamma di opzioni, ognuna delle quali offre un distinto equilibrio tra facilità d'uso, flessibilità e prestazioni:
-
Paddle Serving: questo framework semplifica il deployment di modelli PaddlePaddle come API RESTful ad alte prestazioni. Paddle Serving è ideale per ambienti di produzione, fornendo funzionalità come il versioning del modello, i test A/B online e la scalabilità per la gestione di 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 per scenari in cui è necessario integrare strettamente il modello all'interno di un'applicazione personalizzata o ottimizzare le prestazioni per hardware specifici.
-
Paddle Lite: Paddle Lite è progettato per il deployment su dispositivi mobili e embedded in cui le risorse sono limitate. Ottimizza i modelli per dimensioni più piccole e inferenza più rapida su CPU ARM, GPU e altro hardware specializzato.
-
Paddle.js: Paddle.js ti consente di distribuire modelli PaddlePaddle direttamente all'interno dei browser web. Paddle.js può caricare un modello pre-addestrato o trasformare un modello da paddle-hub con strumenti di trasformazione del modello forniti da Paddle.js. Può essere eseguito in browser che supportano WebGL/WebGPU/WebAssembly.
Esporta in PaddlePaddle: Conversione del tuo modello YOLO11
La conversione di modelli YOLO11 nel formato PaddlePaddle può migliorare la flessibilità di esecuzione e ottimizzare le prestazioni per vari scenari di deployment.
Installazione
Per installare il pacchetto richiesto, esegui:
Installazione
# Install the required package for YOLO11
pip install ultralytics
Per istruzioni dettagliate e best practice relative al processo di installazione, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti richiesti per YOLO11, in caso di difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Utilizzo
Tutti i modelli Ultralytics YOLO11 supportano l'export e puoi consultare l'elenco completo dei formati e delle opzioni di export per trovare la soluzione più adatta alle tue esigenze di deployment.
Utilizzo
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to PaddlePaddle format
model.export(format="paddle") # creates '/yolo11n_paddle_model'
# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolo11n_paddle_model")
# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to PaddlePaddle format
yolo export model=yolo11n.pt format=paddle # creates '/yolo11n_paddle_model'
# Run inference with the exported model
yolo predict model='./yolo11n_paddle_model' source='https://ultralytics.com/images/bus.jpg'
Argomenti di esportazione
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
format |
str |
'paddle' |
Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione. |
imgsz |
int oppure tuple |
640 |
Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche. |
batch |
int |
1 |
Specifica la dimensione del batch di inferenza del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in modalità predict . |
device |
str |
None |
Specifica il dispositivo per l'esportazione: CPU (device=cpu ), MPS per Apple silicon (device=mps ). |
Per maggiori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.
Implementazione di modelli PaddlePaddle YOLO11 esportati
Dopo aver esportato con successo i tuoi modelli Ultralytics YOLO11 in formato PaddlePaddle, ora puoi distribuirli. Il primo passo principale e raccomandato per l'esecuzione di un modello PaddlePaddle è utilizzare il metodo YOLO("yolo11n_paddle_model/"), come indicato nel precedente snippet di codice di utilizzo.
Tuttavia, per istruzioni approfondite sul deployment dei tuoi modelli PaddlePaddle in varie altre impostazioni, dai un'occhiata alle seguenti risorse:
-
Paddle Serving: scopri come distribuire i tuoi modelli PaddlePaddle come servizi performanti utilizzando Paddle Serving.
-
Paddle Lite: scopri come ottimizzare e distribuire modelli su dispositivi mobili e embedded utilizzando Paddle Lite.
-
Paddle.js: Scopri come eseguire modelli PaddlePaddle nei browser web per l'IA lato client utilizzando Paddle.js.
Riepilogo
In questa guida, abbiamo esplorato il processo di esportazione dei modelli Ultralytics YOLO11 nel formato PaddlePaddle. Seguendo questi passaggi, puoi 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 esplorare altri modi per integrare i tuoi modelli Ultralytics YOLO11? La nostra pagina della guida all'integrazione esplora varie opzioni, fornendoti risorse e approfondimenti preziosi.
FAQ
Come posso esportare i modelli Ultralytics YOLO11 in formato PaddlePaddle?
L'esportazione dei modelli Ultralytics YOLO11 in formato PaddlePaddle è semplice. Puoi utilizzare il export
metodo della classe YOLO per eseguire questa esportazione. Ecco un esempio che utilizza python:
Utilizzo
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to PaddlePaddle format
model.export(format="paddle") # creates '/yolo11n_paddle_model'
# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolo11n_paddle_model")
# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to PaddlePaddle format
yolo export model=yolo11n.pt format=paddle # creates '/yolo11n_paddle_model'
# Run inference with the exported model
yolo predict model='./yolo11n_paddle_model' source='https://ultralytics.com/images/bus.jpg'
Per una configurazione e una risoluzione dei problemi più dettagliate, consulta la Guida all'installazione di Ultralytics e la Guida ai problemi comuni.
Quali sono i vantaggi dell'utilizzo di PaddlePaddle per l'implementazione del modello?
PaddlePaddle offre diversi vantaggi chiave per l'implementazione del modello:
- Ottimizzazione delle prestazioni: PaddlePaddle eccelle nell'esecuzione efficiente dei modelli e nella riduzione dell'utilizzo della memoria.
- Compilazione del grafico dinamico-statico: Supporta la compilazione dinamica-statica, consentendo ottimizzazioni in fase di esecuzione.
- Fusione di operatori: Unendo operazioni compatibili, riduce il sovraccarico computazionale.
- Tecniche di quantizzazione: Supporta sia il post-training che il training con riconoscimento della quantizzazione, consentendo rappresentazioni di dati a precisione inferiore per prestazioni migliorate.
Puoi ottenere risultati migliori esportando i tuoi modelli Ultralytics YOLO11 su PaddlePaddle, garantendo flessibilità e alte prestazioni in varie applicazioni e piattaforme hardware. Esplora le caratteristiche e le capacità principali di PaddlePaddle nella documentazione ufficiale di PaddlePaddle.
Perché dovrei scegliere PaddlePaddle per il deployment dei miei modelli YOLO11?
PaddlePaddle, sviluppato da Baidu, è ottimizzato per implementazioni di IA industriali e commerciali. La sua vasta comunità di sviluppatori e il framework robusto forniscono strumenti estesi simili a TensorFlow e PyTorch. Esportando i tuoi modelli YOLO11 in PaddlePaddle, puoi sfruttare:
- Prestazioni migliorate: Velocità di esecuzione ottimale e ingombro di memoria ridotto.
- Flessibilità: Ampia compatibilità con vari dispositivi, dagli smartphone ai server cloud.
- Scalabilità: Efficienti capacità di elaborazione parallela per ambienti distribuiti.
Queste caratteristiche rendono PaddlePaddle una scelta interessante per l'implementazione di modelli YOLO11 in ambienti di produzione.
In che modo PaddlePaddle migliora le prestazioni del modello rispetto ad altri framework?
PaddlePaddle utilizza diverse tecniche avanzate per ottimizzare le prestazioni del modello:
- Grafico dinamico-statico: Converte i modelli in un grafico computazionale statico per ottimizzazioni in fase di esecuzione.
- Fusione di operatori: Combina operazioni compatibili per ridurre al minimo il trasferimento di memoria e aumentare la velocità di inferenza.
- Quantizzazione: Riduce le dimensioni del modello e aumenta l'efficienza utilizzando dati a precisione inferiore, mantenendo la precisione.
Queste tecniche danno la priorità all'esecuzione efficiente del modello, rendendo PaddlePaddle un'opzione eccellente per l'implementazione di modelli YOLO11 ad alte prestazioni. Per ulteriori informazioni sull'ottimizzazione, consulta la documentazione ufficiale di PaddlePaddle.
Quali opzioni di deployment offre PaddlePaddle per i modelli YOLO11?
PaddlePaddle offre opzioni di implementazione flessibili:
- Paddle Serving: Distribuisce i modelli come API RESTful, ideale per la produzione con funzionalità come il versioning dei modelli e l'A/B testing online.
- Paddle Inference API: Offre un controllo di basso livello sull'esecuzione del modello per applicazioni personalizzate.
- Paddle Lite: Ottimizza i modelli per le risorse limitate dei dispositivi mobili e embedded.
- Paddle.js: Consente di distribuire i modelli direttamente all'interno dei browser web.
Queste opzioni coprono una vasta gamma di scenari di distribuzione, dall'inferenza su dispositivo ai servizi cloud scalabili. Esplora ulteriori strategie di distribuzione nella pagina delle opzioni di distribuzione dei modelli Ultralytics.