Converting from onnx generated by matlab is not working with other frameworks

1 次查看(过去 30 天)
I am trying to use my pretrained model in c++ application. I tried to convert from onnx to mxnet, pytorch and directly to caffe. All of them fails. Downloaded pretrained models work without any problems while importing into mxnet. https://mxnet.incubator.apache.org/tutorials/onnx/super_resolution.html This is the guide i followed. And .onnx file is added. Also error message is added with image.png. I am waiting your reply as soon as possible. Thank you in advance.

采纳的回答

Don Mathis
Don Mathis 2018-9-21
Hi Umit, That is a bug in whatever ONNX importer you are trying to use. It is failing because the ONNX file contains a 'Sub' operator that does not specify the 'axis' attribute. According to the ONNX specification, 'axis' is an optional attribute that has a default value. Yet the importer you are using incorrectly requires it.
According to the ONNX spec (https://github.com/onnx/onnx/blob/master/docs/Changelog.md#Sub-6):
"The starting of the mutually equal shape is specified by the argument "axis", and if it is not set, suffix matching is assumed."
The ONNX file you have attached can be imported into Tensorflow, and in that case the predictions made by the model match those of the original MATLAB network.
I suggest you file a bug report with whoever wrote the ONNX importer you are using.

更多回答(1 个)

michael scheinfeild
after exported to onnx you can use cntk framework in python and then in c++
python code:
import cntk as C
import os
import numpy as np
from PIL import Image,ImageOps
#check cntk
print("imported cntk")
print(C.minus([1, 2, 3], [4, 5, 6]).eval())
#check onnx exist
print(np.DataSource().exists("net.onnx"))
#load onnx
z = C.Function.load("net.onnx", format=C.ModelFormat.ONNX)
# then you can save it to dnn format
z.save(os.path.join("foo", "Alexnet" + ".dnn"))

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by