How to design LSTM-CNN on deep network designer?

23 views (last 30 days)
Hello,
My project is on classification of ECG/EEG signals using deep learning. I have design based on sequence on LSTM layer. Now i want to design hybrid LSTM-CNN on deep network designer which i have problem with connection between LSTM and Convolutional layer. I used Sequencefolding layer (suggested by deep network designer) after LSTM and connect to Convolutionallayer2d. The problem is Sequencefolding layer have two output (1. output, 2. minibatchsize) , which i don't now where to connect this minibatchsize connection. Can somebody expert give me advice on this? Really appreciate on any advice.
Thanks in advance sir.

Accepted Answer

Divya Gaddipati
Divya Gaddipati on 10 Mar 2021
You have to use a sequenceUnfoldingLayer that takes two inputs, feature map and the miniBatchSize from the corresponding sequenceLayer. You can refer to this example for more information.
  1 Comment
NurAlisa Ali
NurAlisa Ali on 29 Apr 2021
Thank you very much for this sir. From the example given, it is for hybrid CNN-LSTM, what i'm try to design is LSTM-CNN....

Sign in to comment.

More Answers (2)

Dreaman
Dreaman on 28 Mar 2021
i have the same problem too, have u solved this problem?
  2 Comments
NurAlisa Ali
NurAlisa Ali on 29 Apr 2021
Yeah i have try CNN-LSTM, but the input length must be not too long, otherwise will get out of memory even 32GB ram.
Manoj Devaraju
Manoj Devaraju on 9 Jun 2022
Hello Ali,
Evn I would like to apply CNN-LSTM network for the image data set classification problem. But unfortunately i am struggling to apply, can you please give me some insight, how can it be done?

Sign in to comment.


H W
H W on 5 Nov 2022
% Load data
[XTrain,YTrain] = japaneseVowelsTrainData;
% Define layers
layers = [ sequenceInputLayer(12,'Normalization','none', 'MinLength', 9);
convolution1dLayer(3, 16)
batchNormalizationLayer()
reluLayer()
maxPooling1dLayer(2)
convolution1dLayer(5, 32)
batchNormalizationLayer()
reluLayer()
averagePooling1dLayer(2)
lstmLayer(100, 'OutputMode', 'last')
fullyConnectedLayer(9)
softmaxLayer()
classificationLayer()];
options = trainingOptions('adam', ...
'MaxEpochs',10, ...
'MiniBatchSize',27, ...
'SequenceLength','longest');
% Train network
net = trainNetwork(XTrain,YTrain,layers,options);

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!