MATLAB Answers

C++ code generation for sequence to sequence LSTM fails

4 views (last 30 days)
Hi guys,
I have trained a sequence to sequence LSTM network in R2019b. Now i want to generate C++ Code for said network via Matlab Coder.
When i try using codegen, I get the following error message:
"error generating code for network testLSTM_0. Code generation for SequenceInputLayer sequenceinput is not supported for arm-compute target. See documentation for a list of supported layers with each target."
This seems very weird to me since all layers in my network (including the SequenceInputLayer) are listed are listed as supported for arm-compute here.
Has anyone successfully generated C++ Code for a sequence to sequence LSTM and can help me with this? Thanks in advance.
  2 Comments
FWH
FWH on 25 Aug 2020
Yes I have, but still the same error. Unlike than that example I am trying to generate CPU Code, not CUDA Code, don't know how big the difference is for Matlab Coder.
Another thing is I am only getting to the above error when using the predict command in the function I am giving to codegen. If i use [mynet, out] = predictAndUpdateState(mynet,in) instead, I get "Undefined function or variable predictAndUpdateState." which is weird since Deep Learning Toolbox is definetly installed and the command works outside of codegen.

Sign in to comment.

Accepted Answer

Hariprasad Ravishankar
Hariprasad Ravishankar on 27 Aug 2020
Hello,
Code-generation support for LSTM networks using ARM Compute Library was introduced in R2020a. Further, predictAndUpdateState is also supported for ARM Compute Library in R2020a.
Please find the release notes attached:
The link referenced in the question links to the R2020a documentation, hence you may have noticed that all the layers are supported.
R2019b included LSTM network code-generation support only for GPU target using cuDNN library and GPU Coder and did not include support for predictAndUpdateState function.
Would it be possible to upgrade MATLAB to R2020a to leverage these new capabilities?
Please note that code-generation for LSTM Networks using ARM Compute Library requires ARM Compute Library Version 19.05.
Hari

More Answers (0)

Community Treasure Hunt

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

Start Hunting!