Ultralytics YOLO27:

Come esportare nel formato PaddlePaddle dai modelli YOLO26#

Colmare il divario tra lo sviluppo e la distribuzione di modelli di visione artificiale in scenari reali con condizioni variabili può essere difficile. PaddlePaddle semplifica questo processo concentrandosi su flessibilità, prestazioni e capacità di elaborazione parallela in ambienti distribuiti. Ciò significa che puoi utilizzare i tuoi modelli di visione artificiale YOLO26 su un'ampia varietà di dispositivi e piattaforme, dagli smartphone ai server basati sul cloud.



Watch: How to Export Ultralytics YOLO26 Models to PaddlePaddle Format | Key Features of PaddlePaddle Format

La possibilità di esportare nel formato di modello PaddlePaddle ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per l'utilizzo all'interno del framework PaddlePaddle. PaddlePaddle è noto per facilitare le distribuzioni industriali ed è una buona scelta per distribuire applicazioni di visione artificiale in contesti reali e in vari settori.

Perché esportare in PaddlePaddle?#

PaddlePaddle deep learning framework logo

Sviluppato da Baidu, PaddlePaddle (apprendimento PArallelo Distribuito Deep LEarning) è la prima piattaforma cinese open source di deep learning. A differenza di alcuni framework sviluppati principalmente per la ricerca, PaddlePaddle dà priorità alla facilità d'uso e alla perfetta integrazione tra i diversi settori.

Offre strumenti e risorse simili a quelli di framework diffusi come TensorFlow e PyTorch, rendendolo accessibile agli sviluppatori di qualsiasi livello di esperienza. Dall'agricoltura alle fabbriche, fino alle aziende di servizi, la grande community di sviluppatori di PaddlePaddle, con oltre 4,77 milioni di membri, contribuisce a creare e distribuire applicazioni di AI.

Esportando i tuoi modelli Ultralytics YOLO26 nel formato PaddlePaddle, puoi sfruttare i punti di forza di PaddlePaddle nell'ottimizzazione delle prestazioni. PaddlePaddle dà priorità all'esecuzione efficiente dei modelli e alla riduzione dell'utilizzo della memoria. Di conseguenza, i tuoi modelli YOLO26 possono potenzialmente ottenere prestazioni ancora migliori, offrendo risultati eccellenti in scenari pratici.

Caratteristiche principali dei modelli PaddlePaddle#

I modelli PaddlePaddle offrono diverse caratteristiche fondamentali che contribuiscono alla loro flessibilità, alle prestazioni e alla scalabilità in scenari di distribuzione eterogenei:

  • Grafo dinamico-statico: PaddlePaddle supporta la compilazione da dinamico a statico, in cui i modelli possono essere convertiti in un grafo computazionale statico. Ciò abilita ottimizzazioni che riducono l'overhead in fase di esecuzione e migliorano le prestazioni dell'inferenza.

  • Fusione degli operatori: PaddlePaddle, come TensorRT, utilizza la fusione degli operatori per semplificare i calcoli e ridurre l'overhead. Il framework riduce i trasferimenti di memoria e i passaggi computazionali unendo operazioni compatibili, con conseguente accelerazione dell'inferenza.

  • Quantizzazione: PaddlePaddle supporta le tecniche di quantizzazione, tra cui la quantizzazione post-addestramento e l'addestramento consapevole della quantizzazione. Queste tecniche consentono di utilizzare rappresentazioni dei dati a precisione inferiore, migliorando efficacemente le prestazioni e riducendo le dimensioni del modello.

Opzioni di distribuzione in PaddlePaddle#

Prima di esaminare il codice per esportare i modelli YOLO26 in PaddlePaddle, analizziamo i diversi scenari di distribuzione in cui i modelli PaddlePaddle eccellono.

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

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

  • Paddle Inference API: la Paddle Inference API offre un controllo a basso livello sull'esecuzione dei modelli. Questa opzione è adatta agli scenari in cui devi integrare strettamente il modello in un'applicazione personalizzata o ottimizzare le prestazioni per hardware specifici.

  • Paddle Lite: Paddle Lite è progettato per la distribuzione su dispositivi mobili ed embedded con risorse limitate. Ottimizza i modelli per dimensioni ridotte e inferenza più rapida su CPU ARM, GPU e altro hardware specializzato.

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

Attività supportate#

L'esportazione PaddlePaddle supporta tutti e sette i task Ultralytics. La segmentazione semantica e la stima della profondità sono disponibili solo con YOLO26, l'unica famiglia che include queste head.

AttivitàYOLOv8YOLO11YOLO26
Rilevamento
Segmentazione
Semantica
Profondità
Classificazione
Posa
OBB

Esportazione in PaddlePaddle: conversione del modello YOLO26#

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

Installazione#

Per installare il pacchetto richiesto, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e best practice relative al processo di installazione, consulta la nostra guida all'installazione di Ultralytics. Se durante l'installazione dei pacchetti necessari per YOLO26 riscontri difficoltà, consulta la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo#

Tutti i modelli Ultralytics YOLO26 supportano l'esportazione e puoi consultare l'elenco completo dei formati e delle opzioni di esportazione per trovare la soluzione più adatta alle tue esigenze di distribuzione.

Il formato PaddlePaddle supporta le modalità Esporta, Prevedi e Valida. Esporta il modello, quindi carica il modello esportato per eseguire l'inferenza o verificarne la precisione.

Esportazione
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates 'yolo26n_paddle_model'
Predizione
from ultralytics import YOLO

# Load the exported PaddlePaddle model
model = YOLO("./yolo26n_paddle_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Valida
from ultralytics import YOLO

# Load the exported PaddlePaddle model
model = YOLO("./yolo26n_paddle_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Argomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'paddle'Formato di destinazione del modello esportato, che definisce la compatibilità con diversi ambienti di distribuzione.
imgszint o tuple640Dimensione desiderata dell'immagine per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
quantizeint o strNoneEsportazione FP32 fissa. L'esportazione PaddlePaddle non supporta la conversione della precisione in FP16, INT8 o W8A16 al momento dell'esportazione.
batchint1Specifica la dimensione del batch di inferenza del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
devicestrNoneSpecifica il dispositivo per l'esportazione: CPU (device=cpu), MPS per Apple silicon (device=mps).

Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione Ultralytics sull'esportazione.

Distribuzione dei modelli YOLO26 PaddlePaddle esportati#

Dopo aver esportato correttamente i tuoi modelli Ultralytics YOLO26 nel formato PaddlePaddle, puoi distribuirli. Il primo passaggio principale e consigliato per eseguire un modello PaddlePaddle consiste nell'utilizzare il metodo YOLO("yolo26n_paddle_model/"), come illustrato nel precedente snippet di codice di utilizzo.

Tuttavia, per istruzioni dettagliate sulla distribuzione dei tuoi modelli PaddlePaddle in vari altri contesti, consulta le seguenti risorse:

  • Paddle Serving: scopri come distribuire i tuoi modelli PaddlePaddle come servizi efficienti utilizzando Paddle Serving.

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

  • Paddle.js: scopri come eseguire i modelli PaddlePaddle nei browser web per l'AI lato client utilizzando Paddle.js.

In questa guida abbiamo esaminato il processo di esportazione dei modelli Ultralytics YOLO26 nel formato PaddlePaddle. Seguendo questi passaggi, puoi sfruttare i punti di forza di PaddlePaddle in diversi scenari di distribuzione, ottimizzando i tuoi modelli per differenti 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 YOLO26? La nostra pagina della guida alle integrazioni illustra diverse opzioni e ti offre risorse e informazioni utili.

FAQ#

  • Esportare i modelli Ultralytics YOLO26 nel formato PaddlePaddle è semplice. Puoi utilizzare il metodo export della classe YOLO per eseguire la conversione. Ecco un esempio in Python:

    Utilizzo
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to PaddlePaddle format
    model.export(format="paddle")  # creates 'yolo26n_paddle_model'
    
    # Load the exported PaddlePaddle model
    paddle_model = YOLO("./yolo26n_paddle_model")
    
    # Run inference
    results = paddle_model("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.

  • PaddlePaddle offre diversi vantaggi chiave per la distribuzione dei modelli:

    • Ottimizzazione delle prestazioni: PaddlePaddle eccelle nell'esecuzione efficiente dei modelli e nella riduzione dell'utilizzo della memoria.
    • Compilazione del grafo dinamico-statico: supporta la compilazione da dinamico a statico, consentendo ottimizzazioni in fase di esecuzione.
    • Fusione degli operatori: unendo operazioni compatibili, riduce l'overhead computazionale.
    • Tecniche di quantizzazione: supporta sia la quantizzazione post-addestramento sia l'addestramento consapevole della quantizzazione, consentendo rappresentazioni dei dati a precisione inferiore per migliorare le prestazioni.

    Puoi ottenere risultati migliori esportando i tuoi modelli Ultralytics YOLO26 in PaddlePaddle, garantendo flessibilità e prestazioni elevate in diverse applicazioni e piattaforme hardware. Esplora le principali caratteristiche e funzionalità di PaddlePaddle nella documentazione ufficiale di PaddlePaddle.

  • PaddlePaddle, sviluppato da Baidu, è ottimizzato per le distribuzioni industriali e commerciali di AI. La sua ampia community di sviluppatori e il solido framework offrono numerosi strumenti simili a quelli di TensorFlow e PyTorch. Esportando i tuoi modelli YOLO26 in PaddlePaddle, puoi sfruttare:

    • Prestazioni migliorate: velocità di esecuzione ottimale e minore utilizzo della memoria.
    • 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 distribuire i modelli YOLO26 in ambienti di produzione.

  • PaddlePaddle utilizza diverse tecniche avanzate per ottimizzare le prestazioni dei modelli:

    • Grafo dinamico-statico: converte i modelli in un grafo computazionale statico per le ottimizzazioni in fase di esecuzione.
    • Fusione degli operatori: combina operazioni compatibili per ridurre al minimo i trasferimenti di memoria e aumentare la velocità dell'inferenza.
    • Quantizzazione: riduce le dimensioni del modello e ne aumenta l'efficienza utilizzando dati a precisione inferiore, mantenendo la precisione.

    Queste tecniche danno priorità all'esecuzione efficiente dei modelli, rendendo PaddlePaddle un'ottima scelta per distribuire modelli YOLO26 ad alte prestazioni. Per ulteriori informazioni sull'ottimizzazione, consulta la documentazione ufficiale di PaddlePaddle.

  • PaddlePaddle offre opzioni di distribuzione flessibili:

    • Paddle Serving: distribuisce i modelli come API RESTful, ideali per la produzione, con funzionalità come il versionamento dei modelli e i test A/B online.
    • Paddle Inference API: offre un controllo a basso livello sull'esecuzione dei modelli per applicazioni personalizzate.
    • Paddle Lite: ottimizza i modelli per le risorse limitate dei dispositivi mobili ed embedded.
    • Paddle.js: consente di distribuire i modelli direttamente nei browser web.

    Queste opzioni coprono un'ampia gamma di scenari di distribuzione, dall'inferenza sul dispositivo ai servizi cloud scalabili. Esplora altre strategie di distribuzione nella pagina delle opzioni di distribuzione dei modelli Ultralytics.

Commenti