Matlab CNN model to ONNX - Inference Image Classification Results

4 views (last 30 days)
Hello all,
I used 'exportONNXNetwork(net,filename)' function to export a fine-tuned CNN .mat model (mobilenet pretrained and fine-tuned on new dataset) to .onnx model.
When using the .onnx model in image classification inference I am getting wrong classification results. I compared the results that I am getting from Matlab inference with ONNX inference, it is not the same although the model was well exported and I checked some of the weights and biases of the network.
Does I need to make any additional conversion ? Is there any difference between the two models (I think the input is of shape 3*224*224 in ONNX instead of 224*224*3 in Matlab) ?
Thank you in advance. Appreciate your help!

Answers (2)

cui,xingxing
cui,xingxing on 4 Aug 2021
yes , you are correct, in onnnx file the input is of shape BatchSize*3*224*224 instead of 224*224*3*BatchSize in Matlab,
  1 Comment
Andrea Daou
Andrea Daou on 4 Aug 2021
I used a step to correct the image shape because I am not getting any error when doing the inference with the .onnx model but the prediction and all the classes probabilities are way different from the inference done in Matlab that gives correct predictions.
I tried to make sure that the network is correctly passing from .mat to .onnx by repassing from the .oonx model to .mat and running the inference with the new .mat model and I got right predictions.
So I am not getting where's the problem :(

Sign in to comment.


Sivylla Paraskevopoulou
Sivylla Paraskevopoulou on 9 May 2022
The Inference Comparison Between ONNX and Imported Networks for Image Classification example shows how to compare image classification results between an ONNX model and a Deep Learning Toolbox network.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!