Exportera till ONNX
Kör modellen i olika runtime-miljöer
Exportera till ONNX är en gratis lektion i Deep Learning Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Deep Learning Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
En modell, många körmiljöer
Ibland måste modellen köras någonstans där PyTorch inte är installerat. ONNX är ett gemensamt format som låter en modell köras i många olika motorer. 🌐
Vad ONNX står för
ONNX står för Open Neural Network Exchange. Det är ett leverantörsneutralt filformat som beskriver modellen som en graf av standardiserade operationer.
Varför team älskar ONNX
Med ONNX tränar Ni i PyTorch men distribuerar på ONNX Runtime, mobila enheter eller i webbläsaren, utan att skriva om modellen för varje plattform.
Exportera med ett enda anrop
Ni exporterar genom att ge PyTorch modellen och ett exempelindata. Exportverktyget tracar körningen och skriver en portabel graf till disk.
import torch
torch.onnx.export(model, sample_input, 'model.onnx')Exempelindatat formar grafen
Denna exempelstensor måste ha samma form och dtype som den riktiga indatan, eftersom exportverktyget registrerar de operationer som datan utlöser.
sample_input = torch.randn(1, 3, 224, 224)Namnge indata och utdata
Ange tydliga indata- och utdatanamn så att serverkoden kan binda data efter namn i stället för att gissa positioner.
torch.onnx.export(model, x, 'm.onnx',
input_names=['image'], output_names=['logits'])Tillåt flexibla batchstorlekar
Som standard är batchstorleken fast. Markera den som en dynamisk axel så att den exporterade modellen accepterar valfritt antal indata samtidigt.
dynamic_axes={'image': {0: 'batch'}}Kontrollera alltid exporten
Läs in filen med biblioteket onnx och kör den inbyggda kontrollen för att bekräfta att grafen är giltig innan Ni distribuerar den. ✅
import onnx
onnx.checker.check_model(onnx.load('model.onnx'))Kör med ONNX Runtime
ONNX Runtime är en snabb motor som kör den exporterade modellen på CPU eller GPU, ofta snabbare än vanlig inferens i Python.
import onnxruntime as ort
session = ort.InferenceSession('model.onnx')Bekräfta att resultaten överensstämmer
Kör samma indata genom PyTorch och ONNX Runtime och jämför utdata. De bör överensstämma nära, vilket visar att exporten är korrekt.
Var uppmärksam på opset-versionen
Varje export riktar sig mot en opset-version, det vill säga mängden operationer som stöds. Välj en version som målmiljön förstår för att undvika fel.
torch.onnx.export(model, x, 'm.onnx', opset_version=17)Snabbkontroll
Ni vill att en fast batch i stället ska acceptera valfri storlek. Vad ställer Ni in?
Sammanfattning: portabel mellan körmiljöer
Ni exporterade en PyTorch-modell till ONNX med ett exempelindata, namngav axlar, validerade den och körde den på ONNX Runtime var som helst. 🎉
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Exportera till ONNX” gratis?
Ja – hela texten till ”Exportera till ONNX” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Deep Learning Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Exportera till ONNX”?
Kör modellen i olika runtime-miljöer Ni övar på Deep Learning Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Deep Learning Academy?
Du behöver inga förkunskaper. Utbildningen i Deep Learning Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Exportera till ONNX”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Deep Learning Academy-lektionen?
Ja. Varje Deep Learning Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- TorchScript och torch.compile
- Exportera till ONNX
- Kvantisering för mindre och snabbare modeller
- Servera med FastAPI