Train a Deep Learning Model in PyTorch and Export It to ONNX – InApps Technology is an article under the topic Software Development Many of you are most interested in today !! Today, let’s learn Train a Deep Learning Model in PyTorch and Export It to ONNX – InApps Technology in today’s post !

Read more about Train a Deep Learning Model in PyTorch and Export It to ONNX – InApps Technology at Wikipedia

You can find content about Train a Deep Learning Model in PyTorch and Export It to ONNX – InApps Technology from the Wikipedia website

In this tutorial, we will train a Convolutional Neural Network in PyTorch and convert it into an ONNX model. Once we have the model in ONNX format, we can import that into other frameworks such as TensorFlow for either inference and reusing the model through transfer learning.

Setting up the Environment

The only prerequisite for this tutorial is Python 3.x. Make sure it is installed on your machine.

Create a Python virtual environment that will be used for this and the next tutorial.

python3 -m virtualenv pyt2tf

source pyt2tf/bin/activate

Create a file, requirements.txt, with the below content that has the modules needed for the tutorial.

Note that we are using TensorFlow 1.x for this tutorial. You may see errors if you install any version of TensorFlow above 1.15.

Install the modules from the above file with pip.

pip install -r requirements.txt

Finally, create a directory to save the model.

mkdir output

Train a CNN with MNIST Dataset

Let’s start by importing the right modules needed for the program.

We will then define the neural network with appropriate layers.

Create a method to train the PyTorch model.

The below method will test and evaluate the model:

With the network architecture, train, and test methods in place, let’s create the main method to create an instance of the neural network and train it with the MNIST dataset.

Within the main method, we download the MNIST dataset, preprocess it, and train the model with 10 epochs.

If you are training the model on a beefy box with a powerful GPU, you can change the device variable and tweak the number of epochs to get better accuracy. But, for the MNIST dataset, you will hit ~98% accuracy with just 10 epochs running on the CPU.Below is the complete code to train the model in PyTorch.

Once the training is done, you will find the file,, in the output directory. This is the artifact we need to convert the model into ONNX format.

Exporting PyTorch Model to ONNX Format

PyTorch supports ONNX natively which means we can convert the model without using an additional module.

Let’s load the trained model from the previous step, create an input that matches the shape of the input tensor, and export the model to ONNX.

The neural network class is included in the code to ensure that the model architecture is accessible along with the input tensor shape.

Running the above code results in the creation of model.onnx file which contains the ONNX version of the deep learning model originally trained in PyTorch.

You can open this in the Netron tool to explore the layers and the architecture of the neural network.

In the next part of this tutorial, we will import the ONNX model into TensorFlow and use it for inference. Stay tuned.

Janakiram MSV’s Webinar series, “Machine Intelligence and Modern Infrastructure (MI2)” offers informative and insightful sessions covering cutting-edge technologies. Sign up for the upcoming MI2 webinar at

Feature image: “Taking in the Wheat Sheaves,” New Old Stock.

At this time, InApps Technology does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: [email protected].


List of Keywords users find our article on Google:

pytorch dataset
nn model
install wso2
shuffle tutorial
pytorch mnist
pytorch save model
pytorch cnn
pytorch backward
br 50 target max
wso2 tutorial
pytorch conv2d
torch save
conv2d pytorch
pytorch loss
torch save model
pytorch transforms
tensorflow probability
tensorflow dataset
pytorch relu
pytorch optimizer
dataloader pytorch
epochs machine learning
how to install wso2
wso2 install
pytorch sum
torch optim
tensorflow conv2d
pytorch argmax
pytorch view
pytorch module
pytorch normalize
torch utils data dataloader
mnist pytorch
model nn
pytorch datasets
pytorch log
onnx gpu
deep learning with pytorch
torch nn
pytorch train
wso2 training
wso2 intallation
pytorch nn
tensorflow loss
pytorch max
pytorch expand
.view pytorch
pytorch optim
pytorch custom loss
import torch
torch nn module
torch python
pytorch nn linear
momentum recruitment
tensorflow optimizer
pytorch dataloader
pytorch functional
pytorch transfer learning
pytorch sgd
torch dataloader
nn linear pytorch
torch expand dim
tensorflow nn
torch module
export recruitment
pytorch transforms normalize
pytorch models
epochs deep learning
pip install pytorch
conv2d pytorch parameters
tensorflow eval
tensorflow save model
python install torch
pytorch neural network
torch pip
epoch deep learning
torch neural network
fc2 play
x train 24
nn group ux
pytorch view_as
.view(-1) pytorch
torch functional model
pytorch variable
pytorch jobs
pytorch export model
platform 65 the train restaurant
torch no_grad
torchvision transforms
convert pytorch to onnx
nn torch
pytorch inplace
opencv jobs
tensorflow datasets
wawa on 64
import torch.nn as nn
let’s get deep target
model train pytorch
test onnx model
torchvision datasets
pytorch template
pip export requirements.txt
pytorch batch
pytorch linear
torch dataset
torch module parameters
epoch solutions group
opencv deep learning
shuffle tutorial for beginners
torch transforms
transforms pytorch
linear technology training
pytorch nn module
pytorch to device
linear recruitment
loss function pytorch
nn running team
opencv training model
pytorch install torchvision
pytorch model
epoch in cnn
epochs in deep learning
r net train
torch init
.t() pytorch
conv2d tensorflow
nn module pytorch
nn.linear pytorch
onnx file
pytorch torchvision
train cnn pytorch
train in pytorch
transfer learning pytorch
how to increase accuracy of cnn
import pytorch
pytorch get parameters by name
save model pytorch
torch conv2d
torch sum
definition torch
tensorflow dataloader
br class 31
evaluate 81^(1/4)
pytorch vision
tensorflow 1.15
x nn
deep learning opencv
dim sum 77
logx 2 pytorch
python opencv deep learning
pytorch print model architecture
what is training loss in machine learning
how to use dataloader pytorch
pytorch input
cnn using pytorch
how to pip install pytorch
print tensorflow dataset
pytorch create tensor
torchvision install
custom dataset pytorch
how to install pytorch
pytorch data
deep learning using python tutorial
nn relu
onnx gpu inference
pytorch accuracy
pytorch install
pytorch save models
tensor torch
cnn pytorch
deep learning loss
epoch machine learning
machine torch
nn conv2d
pythorch models
pytorch print number of parameters
pytorch relu inplace
pytorch tensor
sum up app
what is an epoch machine learning
Rate this post
Content writer

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...