MATLAB Answers

ONNX export yields error in Windows ML

2 views (last 30 days)
Gabriel Mittag
Gabriel Mittag on 18 Apr 2019
Answered: Ting Su on 24 May 2019
I want to export my deep neural network with the ONNX export function and use it with Windows ML. To test it, I use WinMLRunner, which simply checks an .onnx file. This seems to work with CNN-networks, however for LSTM-networks I receive the error: "First input does not have rank 2". If I have more than one LSTM-layer in the network the error message somehow changes to: "First input tensor must have rank 3".
I attached a file with following simple LSTM-network and another file with the corresponding ONNX export in onset version 7 (Windows ML needs onset v7 or v8):
layers = [ ...
lstmLayer(100, 'OutputMode', 'last');
I exported the network as follows:
exportONNXNetwork(lstmNet, 'lstm_net_onset_v7.onnx', 'OpsetVersion', 7)
Then tested it with WinMLRunner:
WinMLRunner.exe -model C:\lstm_net_onset_v7.onnx -cpu
Thanks for any suggestions on how to solve this. I already posted this problem on the fileexchange page of the ONNX converter.


Sign in to comment.

Accepted Answer

Ting Su
Ting Su on 24 May 2019
Hi, Gabriel,
A new release of ONNX export function will be released soon. The LSTM support will be better in the new release.


Sign in to comment.

More Answers (0)




Translated by