MATLAB Answers


LSTM for Regression in Matlab2017b???

Asked by Jake
on 24 Oct 2017
Latest activity Commented on by Zaher Babakrnejad on 9 Jul 2019
The train network function currently does not allow LSTM memory networks with a regression output layer. How can I modify these layers or this function to make LSTM and regression work together?


Sign in to comment.

3 Answers

Answer by Amy MacDonough on 27 Oct 2017

Hi Jake,
The ability to use 'trainNetwork' with regression with LSTM layers might be added in a future release of MATLAB. For now, the best workaround I can suggest is to reformulate your regression problem into a classification one, if possible.
The idea would be to partition your regression targets into some number of bins that correspond to classes in a classification problem.

  1 Comment

on 22 Nov 2017
Hi Amy, I have a similar but different question. Do you think I can use the current released LSTM (MATLAB 2017b) for sequence to sequence training. In other words, I have a sequence of data and want my network to predict the next sequence of data.
Thanks a lot.

Sign in to comment.

Answer by Shounak Mitra on 23 Apr 2018

Hi Jake and Mona,
Regression for LSTMs has been added in the 2018a release. You can learn more about it at
Mona: You can find an example for sequence to sequence regression at
To find a list of examples for deep learning visit the documentation page at or the website at


on 14 May 2018
Hi Shounak Mitra, I am using MATLAB 2018a, Can you please tell me/give me a hint how can I modify the above mentioned "example for sequence to sequence regression" to use it with "double" type predictor data array Xtrain of size 10x843 and response data array Ytrain of sixe 1x843.
The example is for cell type data array, I couldn't translate the code to be used for double type data array. Please I want to forecast load using this example.
Did you find any solution ?

Sign in to comment.

Answer by saeed azari on 20 Jul 2018

Hi ,i use MATLAB 2018a.
1- my input data size is 2827*73000, and output data size is 257*73000. is this possible?
2- i want to used a unidirectional LSTM, where have an LSTM layer as its first layer followed by two fullyconnected layers with ReLU activations. The number of memory cells in the LSTM was set at 500, and the number of nodes in the fully-connected layers was 2048.
but i cant do this. because the last fully-connected layer size should be same as the 257(i.e output dimansion). i can't make the lstm by 5 layers(sequenceInputLayer(2827)-lstm(500)-fully-connected (2048)- fully-connected (2048) - regression layer)
i want to implement the part 2 for the variance mapping of audio. my output is reverb signal and my input is clean signal PSD.
please help me.


Sign in to comment.