ONNX export of RNN / LSTM network

28 views (last 30 days)
Vincent Corlay
Vincent Corlay on 12 Nov 2024
Commented: Vincent Corlay on 21 Nov 2024 at 23:56
I have a standard LSTM neural network created with the deep learning toolbox.
I export it with the ONNX format with the matlab exportONNXNetwork function.
I then import it via python with onnxruntime: import onnxruntime as ort // session = ort.InferenceSession(onnx_model_path)
Then, when I check session.get_inputs()[0], I see only the data input as unique input. It seems that the states can not be specified. Do you know how to handle the state of the recurrent neural network (especially in closed-loop mode) when using the onnxruntime session.run function?

Answers (1)

aditi bagora
aditi bagora on 21 Nov 2024 at 11:21
Since, you have exported the model in ONXX format with the matlab 'exportONNXNetwork' . You can handle the states by defining model outputs ensuring the model outputs the necessary hidden states. To handle these states, update them with the outputs generated from session.run() at each step, feeding them back into the model for subsequent inferences.
  1 Comment
Vincent Corlay
Vincent Corlay on 21 Nov 2024 at 23:56
"You can handle the states by defining model outputs ensuring the model outputs the necessary hidden states." ==> This should be done in the matlab definition of the RNN?

Sign in to comment.

Categories

Find more on Image Data Workflows 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!