Esportare in ONNX
Esegua il modello in diversi runtime
Esportare in ONNX è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.
Un modello, molti runtime
A volte il modello deve essere eseguito in un ambiente in cui PyTorch non è installato. ONNX è un formato condiviso che consente di eseguire un modello su molti engine diversi. 🌐
Che cosa significa ONNX
ONNX significa Open Neural Network Exchange. È un formato di file indipendente dal fornitore che descrive il modello come un grafo di operazioni standard.
Perché i team amano ONNX
Con ONNX può eseguire l'addestramento in PyTorch, ma distribuire il modello su ONNX Runtime, dispositivi mobili o browser, senza riscriverlo per ogni piattaforma.
Esportare con una sola chiamata
Per esportare, fornisca a PyTorch il modello e un input di esempio. L'exporter traccia l'esecuzione e scrive su disco un grafo portabile.
import torch
torch.onnx.export(model, sample_input, 'model.onnx')L'input fittizio determina la forma del grafo
Il tensor di esempio deve avere la stessa forma e lo stesso dtype dell'input reale, perché l'exporter registra le operazioni attivate dai dati.
sample_input = torch.randn(1, 3, 224, 224)Dare un nome agli input e agli output
Assegni nomi chiari agli input e output, così il codice di serving può associare i dati in base al nome invece di indovinare le posizioni.
torch.onnx.export(model, x, 'm.onnx',
input_names=['image'], output_names=['logits'])Consentire dimensioni batch flessibili
Per impostazione predefinita, la dimensione del batch è fissa. La contrassegni come dynamic axis, così il modello esportato accetterà un numero qualsiasi di input alla volta.
dynamic_axes={'image': {0: 'batch'}}Controllare sempre l'esportazione
Carichi il file con la libreria onnx ed esegua il checker integrato per confermare che il grafo sia valido prima di distribuirlo. ✅
import onnx
onnx.checker.check_model(onnx.load('model.onnx'))Eseguire con ONNX Runtime
ONNX Runtime è un engine veloce che esegue il modello esportato su CPU o GPU, spesso più rapidamente della semplice inferenza in Python.
import onnxruntime as ort
session = ort.InferenceSession('model.onnx')Verificare che i numeri coincidano
Passi lo stesso input a PyTorch e ONNX Runtime e confronti gli output. Dovrebbero coincidere quasi perfettamente, dimostrando che l'esportazione è fedele.
Fare attenzione alla versione dell'opset
Ogni esportazione ha come destinazione una opset version, cioè l'insieme delle operazioni supportate. Scelga una versione compresa dal runtime di destinazione per evitare errori.
torch.onnx.export(model, x, 'm.onnx', opset_version=17)Controllo rapido
Desidera che un batch fisso accetti invece qualsiasi dimensione. Che cosa deve impostare?
Riepilogo: portabilità tra runtime
Ha esportato un modello PyTorch in ONNX con un input di esempio, assegnato nomi agli assi, verificato il modello ed eseguito il tutto su ONNX Runtime ovunque. 🎉
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Esportare in ONNX» è gratuita?
Sì — il testo completo di «Esportare in ONNX» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.
Cosa imparerò in «Esportare in ONNX»?
Esegua il modello in diversi runtime Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Deep Learning Academy?
Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Esportare in ONNX»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?
Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- TorchScript e torch.compile
- Esportare in ONNX
- Quantizzazione per modelli più piccoli e veloci
- Servire con FastAPI