ONNX export yields Error !

Dear MathWorks Deep Learning Toolbox Team:
Hi, I tried to use exportONNXNetwork, I ran this part of code, but i saw this error, could you help me pls?!
Usage example:
%% Export to ONNX model format
net = squeezenet;
filename = 'squeezenet.onnx';
exportONNXNetwork(net,filename);
-------------------------------------
this error appear:
Error using nnet.internal.cnn.onnx.onnxmex
Invalid MEX-file
'C:\ProgramData\MATLAB\SupportPackages\R2019b\toolbox\nnet\supportpackages\onnx\+nnet\+internal\+cnn\+onnx\onnxmex.mexw64':
A dynamic link library (DLL) initialization routine failed.
Error in nnet.internal.cnn.onnx.ModelProto/writeToFile (line 50)
ModelPtr = onnxmex(int32(FuncName.EnewModelProto));
Error in nnet.internal.cnn.onnx.exportONNXNetwork (line 37)
writeToFile(modelProto, Filename);
Error in exportONNXNetwork (line 40)
nnet.internal.cnn.onnx.exportONNXNetwork(Network, filename, varargin{:});
Error in Untitled (line 5)
exportONNXNetwork(net,filename)

3 Comments

Matlab2021a also encountered a similar problem, restarting the matlab software restart still error
------------------------------------------------------------------------
net = resnet18();
exportONNXNetwork(net,'resnet18.onnx')
Error using nnet.internal.cnn.onnx.onnxmex
Invalid MEX-file 'C:\ProgramData\MATLAB\SupportPackages\R2021a\toolbox\nnet\supportpackages\onnx\+nnet\+internal\+cnn\+onnx\onnxmex.mexw64': 找不到指定的模块。
Error in nnet.internal.cnn.onnx.ModelProto/writeToFile (line 52)
ModelPtr = onnxmex(int32(FuncName.EnewModelProto));
Error in nnet.internal.cnn.onnx.exportONNXNetwork (line 38)
writeToFile(modelProto, Filename);
Error in exportONNXNetwork (line 38)
nnet.internal.cnn.onnx.exportONNXNetwork(Network, filename, varargin{:});
On Mac OS using Matlab 2021a I get:
>> exportONNXNetwork(trainedNetwork_1,'ONNXThumbs.onnx')
Error using nnet.internal.cnn.onnx.onnxmex
Unexpected Standard exception from MEX file.
What() is:Failed to load ONNX Shared library.
..
Error in nnet.internal.cnn.onnx.ModelProto/writeToFile (line 52)
ModelPtr = onnxmex(int32(FuncName.EnewModelProto));
Error in nnet.internal.cnn.onnx.exportONNXNetwork (line 38)
writeToFile(modelProto, Filename);
Error in exportONNXNetwork (line 38)
nnet.internal.cnn.onnx.exportONNXNetwork(Network, filename, varargin{:});
Same, the bug report does not seem solve the issue in MacOS

Sign in to comment.

 Accepted Answer

Jon Cherrie
Jon Cherrie on 4 Apr 2021
It looks like you are hitting this bug:
There is a workaround listed in that bug report.

More Answers (1)

Neelanjana Pal
Neelanjana Pal on 12 Feb 2020
I also got the same issue but restarting the system solved my problem

4 Comments

I have this issue too. Sometimes by restarting Matlab, it is solved. Does anybody have an idea to solve this issue permanently?
Use the version onnx importer and exporter updated on March 10, 2021, regardless of restarting matlab or win10 system, this kind of problem cannot be solved
It is strongly recommended that MathWorks Deep Learning Toolbox Team strengthen its (importONNXFunction, exportONNXNetwork) robustness and generalization
The cause of R2021a is that the bin folder created under C:\ProgramData\MATLAB\SupportPackages\R2021a\bin\win64\ is not recognized as a system path.
The following command should help.
mv C:\ProgramData\MATLAB\SupportPackages\R2021a\bin\win64\onnxpb.dll C:\ProgramData\MATLAB\SupportPackages\R2021a\toolbox\nnet\supportpackages\onnx\+nnet\+internal\+cnn\+onnx\
@Ting SuAfter copying onnxpb.dll, it can work now, thank you very much!

Sign in to comment.

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!