Esportazione del modello YOLO26 in TorchScript per un deployment rapido
Il deployment di modelli di computer vision in diversi ambienti, inclusi sistemi embedded, browser web o piattaforme con supporto Python limitato, richiede una soluzione flessibile e portatile. TorchScript si concentra sulla portabilità e sulla capacità di eseguire modelli in ambienti in cui l'intero framework Python non è disponibile. Questo lo rende ideale per scenari in cui devi implementare le tue funzionalità di computer vision su vari dispositivi o piattaforme.
Esporta in TorchScript per serializzare i tuoi modelli Ultralytics YOLO26 per la compatibilità multipiattaforma e un deployment semplificato. In questa guida, ti mostreremo come esportare i tuoi modelli YOLO26 nel formato TorchScript, rendendo più semplice il loro utilizzo in una gamma più ampia di applicazioni.
Perché dovresti esportare in TorchScript?

Sviluppato dai creatori di PyTorch, TorchScript è uno strumento potente per ottimizzare e distribuire modelli PyTorch su una varietà di piattaforme. Esportare i modelli YOLO26 in TorchScript è fondamentale per passare dalla ricerca alle applicazioni reali. TorchScript, parte del framework PyTorch, contribuisce a rendere questa transizione più fluida consentendo l'utilizzo dei modelli PyTorch in ambienti che non supportano Python.
Il processo prevede due tecniche: tracing e scripting. Il tracing registra le operazioni durante l'esecuzione del modello, mentre lo scripting consente la definizione di modelli utilizzando un sottoinsieme di Python. Queste tecniche assicurano che modelli come YOLO26 possano ancora compiere la loro magia anche al di fuori del loro solito ambiente Python.

I modelli TorchScript possono anche essere ottimizzati attraverso tecniche come l'operator fusion e perfezionamenti nell'utilizzo della memoria, garantendo un'esecuzione efficiente. Un altro vantaggio dell'esportazione in TorchScript è il suo potenziale di accelerare l'esecuzione del modello su varie piattaforme hardware. Crea una rappresentazione autonoma e pronta per la produzione del tuo modello PyTorch che può essere integrata in ambienti C++, sistemi embedded o distribuita in applicazioni web o mobili.
Caratteristiche principali dei modelli TorchScript
TorchScript, una parte fondamentale dell'ecosistema PyTorch, fornisce potenti funzionalità per l'ottimizzazione e il deployment di modelli di deep learning.

Ecco le caratteristiche principali che rendono TorchScript uno strumento prezioso per gli sviluppatori:
-
Esecuzione a grafo statico: TorchScript utilizza una rappresentazione a grafo statico del calcolo del modello, che è diversa dall'esecuzione a grafo dinamico di PyTorch. Nell'esecuzione a grafo statico, il grafo computazionale viene definito e compilato una volta sola prima dell'esecuzione effettiva, con conseguente miglioramento delle prestazioni durante l'inferenza.
-
Serializzazione del modello: TorchScript ti consente di serializzare i modelli PyTorch in un formato indipendente dalla piattaforma. I modelli serializzati possono essere caricati senza richiedere il codice Python originale, consentendo il deployment in diversi ambienti di runtime.
-
Compilazione JIT: TorchScript utilizza la compilazione Just-In-Time (JIT) per convertire i modelli PyTorch in una rappresentazione intermedia ottimizzata. JIT compila il grafo computazionale del modello, consentendo un'esecuzione efficiente sui dispositivi di destinazione.
-
Integrazione cross-language: Con TorchScript, puoi esportare modelli PyTorch in altri linguaggi come C++, Java e JavaScript. Ciò semplifica l'integrazione dei modelli PyTorch in sistemi software esistenti scritti in linguaggi diversi.
-
Conversione graduale: TorchScript fornisce un approccio di conversione graduale, consentendoti di convertire in modo incrementale parti del tuo modello PyTorch in TorchScript. Questa flessibilità è particolarmente utile quando si ha a che fare con modelli complessi o quando si desidera ottimizzare porzioni specifiche del codice.
Opzioni di deployment in TorchScript
Prima di esaminare il codice per l'esportazione dei modelli YOLO26 nel formato TorchScript, capiamo dove vengono solitamente utilizzati i modelli TorchScript.
TorchScript offre varie opzioni di deployment per modelli di machine learning, come:
-
API C++: Il caso d'uso più comune per TorchScript è la sua API C++, che ti consente di caricare ed eseguire modelli TorchScript ottimizzati direttamente all'interno di applicazioni C++. Questo è l'ideale per ambienti di produzione in cui Python potrebbe non essere adatto o disponibile. L'API C++ offre un basso overhead e un'esecuzione efficiente dei modelli TorchScript, massimizzando il potenziale prestazionale.
-
Deployment mobile: TorchScript offre strumenti per convertire i modelli in formati facilmente distribuibili su dispositivi mobili. PyTorch Mobile fornisce un runtime per l'esecuzione di questi modelli all'interno di app iOS e Android. Ciò consente funzionalità di inferenza offline a bassa latenza, migliorando l'esperienza utente e la privacy dei dati.
-
Deployment cloud: I modelli TorchScript possono essere distribuiti su server basati su cloud utilizzando soluzioni come TorchServe. Offre funzionalità come il versioning del modello, il batching e il monitoraggio delle metriche per un deployment scalabile in ambienti di produzione. Il deployment cloud con TorchScript può rendere i tuoi modelli accessibili tramite API o altri servizi web.
Esporta in TorchScript: convertire il tuo modello YOLO26
Esportare i modelli YOLO26 in TorchScript rende più semplice il loro utilizzo in posti diversi e li aiuta a funzionare più velocemente e in modo più efficiente. Questo è fantastico per chiunque desideri utilizzare i modelli di deep learning in modo più efficace nelle applicazioni del mondo reale.
Installazione
Per installare il pacchetto richiesto, esegui:
# Install the required package for YOLO26
pip install ultralyticsPer istruzioni dettagliate e best practice relative al processo di installazione, controlla la nostra guida all'installazione di Ultralytics. Se durante l'installazione dei pacchetti richiesti per YOLO26 riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Utilizzo
Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione nativamente, rendendo semplice integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione supportati e delle opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")Argomenti di esportazione
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'torchscript' | Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione. |
imgsz | int o 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. |
dynamic | bool | False | Consente dimensioni di input dinamiche, migliorando la flessibilità nella gestione di dimensioni variabili delle immagini. |
half | bool | False | Abilita la quantizzazione FP16 (precisione dimezzata), riducendo le dimensioni del modello e potenzialmente velocizzando l'inferenza sull'hardware supportato. |
optimize | bool | False | Applica l'ottimizzazione per dispositivi mobili, riducendo potenzialmente le dimensioni del modello e migliorandone le prestazioni. |
nms | bool | False | Aggiunge la Non-Maximum Suppression (NMS), essenziale per un post-elaborazione del rilevamento accurato ed efficiente. |
batch | int | 1 | Specifica la dimensione dell'inferenza batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
device | str | None | Specifica il dispositivo per l'esportazione: GPU (device=0), CPU (device=cpu), MPS per Apple silicon (device=mps). |
Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.
Deployment dei modelli YOLO26 TorchScript esportati
Dopo aver esportato con successo i tuoi modelli Ultralytics YOLO26 nel formato TorchScript, ora puoi distribuirli. Il primo passo primario e consigliato per eseguire un modello TorchScript è utilizzare il metodo YOLO("model.torchscript"), come illustrato nel precedente frammento di codice di utilizzo. Per istruzioni approfondite sul deployment dei tuoi modelli TorchScript in altre impostazioni, dai un'occhiata alle seguenti risorse:
-
Esplora il deployment mobile: La documentazione mobile di PyTorch fornisce linee guida complete per il deployment di modelli su dispositivi mobili, assicurando che le tue applicazioni siano efficienti e reattive.
-
Padroneggia il deployment lato server: Scopri come distribuire i modelli lato server con TorchServe, offrendo un tutorial passo-passo per un serving del modello scalabile ed efficiente.
-
Implementa il deployment C++: Immergiti nel tutorial sul caricamento di un modello TorchScript in C++, facilitando l'integrazione dei tuoi modelli TorchScript in applicazioni C++ per prestazioni e versatilità migliorate.
Riepilogo
In questa guida, abbiamo esplorato il processo di esportazione dei modelli Ultralytics YOLO26 nel formato TorchScript. Seguendo le istruzioni fornite, puoi ottimizzare i modelli YOLO26 per le prestazioni e ottenere la flessibilità di distribuirli su varie piattaforme e ambienti.
Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di TorchScript.
Inoltre, se desideri saperne di più su altre integrazioni di Ultralytics YOLO26, visita la nostra pagina della guida all'integrazione. Lì troverai molte risorse e approfondimenti utili.
FAQ
Cos'è l'esportazione del modello Ultralytics YOLO26 in TorchScript?
Esportare un modello Ultralytics YOLO26 in TorchScript consente un deployment flessibile e multipiattaforma. TorchScript, parte dell'ecosistema PyTorch, facilita la serializzazione dei modelli, che possono quindi essere eseguiti in ambienti che non dispongono del supporto Python. Questo lo rende ideale per il deployment di modelli su sistemi embedded, ambienti C++, applicazioni mobili e persino browser web. Esportare in TorchScript consente prestazioni efficienti e una maggiore applicabilità dei tuoi modelli YOLO26 su diverse piattaforme.
Come posso esportare il mio modello YOLO26 in TorchScript utilizzando Ultralytics?
Per esportare un modello YOLO26 in TorchScript, puoi utilizzare il seguente codice di esempio:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")Per maggiori dettagli sul processo di esportazione, fai riferimento alla documentazione Ultralytics sull'esportazione.
Perché dovrei usare TorchScript per distribuire i modelli YOLO26?
L'utilizzo di TorchScript per il deployment dei modelli YOLO26 offre diversi vantaggi:
- Portabilità: I modelli esportati possono essere eseguiti in ambienti senza la necessità di Python, come applicazioni C++, sistemi embedded o dispositivi mobili.
- Ottimizzazione: TorchScript supporta l'esecuzione a grafo statico e la compilazione Just-In-Time (JIT), che possono ottimizzare le prestazioni del modello.
- Integrazione cross-language: I modelli TorchScript possono essere integrati in altri linguaggi di programmazione, migliorando la flessibilità e l'espandibilità.
- Serializzazione: I modelli possono essere serializzati, consentendo il caricamento e l'inferenza indipendenti dalla piattaforma.
Per ulteriori approfondimenti sul deployment, visita la documentazione mobile di PyTorch, la documentazione di TorchServe e la guida al deployment C++.
Quali sono i passaggi di installazione per esportare i modelli YOLO26 in TorchScript?
Per installare il pacchetto richiesto per l'esportazione dei modelli YOLO26, utilizza il seguente comando:
# Install the required package for YOLO26
pip install ultralyticsPer istruzioni dettagliate, visita la guida all'installazione di Ultralytics. Se dovessero sorgere problemi durante l'installazione, consulta la guida ai problemi comuni.
Come distribuisco i miei modelli YOLO26 TorchScript esportati?
Dopo aver esportato i modelli YOLO26 nel formato TorchScript, puoi distribuirli su una varietà di piattaforme:
- API C++: Ideale per ambienti di produzione a basso overhead e altamente efficienti.
- Deployment mobile: Utilizza PyTorch Mobile per applicazioni iOS e Android.
- Deployment cloud: Utilizza servizi come TorchServe per un deployment scalabile lato server.
Esplora linee guida complete per il deployment di modelli in queste impostazioni per sfruttare appieno le capacità di TorchScript.