How to generate code from a trained LSTM network using MATLAB/Simulink?

23 views (last 30 days)
Is code generation from a trained LSTM network supported, and if so, how? There appear to be different approaches to generate code from a trained LSTM network while working without/with Simulink.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 30 Sep 2021
Edited: MathWorks Support Team on 30 Sep 2021

1. Generate code from a trained LSTM network using MATLAB

In order to generate code from a trained LSTM network using MATLAB, there are different approaches:
(a) Generate C/C++ code using MATLAB Coder:
From MATLAB R2020a onwards, you can generate code for ARM Cortex-A CPUs. Refer to the blog post below on how to get started with deep learning models on ARM Cortex-A with MATLAB:
From MATLAB R2020b onwards, you can generate C++ code for an LSTM network, a stateful LSTM network, or a bidirectional LSTM network that uses the Intel® MKL-DNN library.
(b) Generate CUDA code using GPU Coder:
From R2019b onwards, you can generate code for NVIDIA GPUs. See the following documentation link for more information:

 

2. Generate code from a trained LSTM network using Simulink

From R2020b onwards, using MATLAB Coder or GPU Coder, you can use coder.loadDeepLearningNetwork and other associated functions to run inference in a MATLAB Function block. This will support accelerated simulation and code generation for both CPU or GPU targets. The following link illustrates the workflow:

More Answers (2)

NGR MNFD
NGR MNFD on 2 Jul 2021
Hello . I hope you have a good day. I sent the article to your service. I implemented the coding part in the MATLAB software, but to implement my network, two lines of setlayers, training MATLAB 2014 give me an error. What other function do you think I should replace? Do you think the codes I wrote are correct?( I used gait-in-neurodegenerative-disease-database in physionet website.) Thanks a lot

NGR MNFD
NGR MNFD on 4 Jul 2021
hello dear .No, a trained lstm network is not supported and it is just lstm coding on data without simulink. Did I understand your question correctly?Thank you for your help. But boldly, I want to run this code inside MATLAB 2014. What command or function should I add to it? Because my laptop model is low and hangs by installing a higher version.No, a trained lstm network is not supported and it is just lstm coding on data without simulink. Did I understand your question correctly?thanks

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!