MATLAB: C++ code generation for sequence to sequence LSTM fails

arm-computecode generationdeep learningDeep Learning ToolboxlstmMATLABmatlab codersequenceinputlayerseriesnetwork

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.

Best Answer

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