How do I fix this error?
Show older comments
I keep getting this error
"Incompatible input and output sequence lengths. The network must return sequences with the same length as the
input data or a sequence with length one."
when I try to run this 1D CNN:
(For reference I am trying to analyse 320 signals with 2000 time points each)
inputSize = size(xTrain());
numClasses = 2; % Cracked or not cracked
layers = [
sequenceInputLayer(time_points,'Name', 'input','MinLength', 2000)
convolution1dLayer(32,20,'Padding', 'same')
batchNormalizationLayer
reluLayer
maxPooling1dLayer(2,'Stride',2)
convolution1dLayer(64,10,'Padding', 'same')
batchNormalizationLayer
reluLayer
maxPooling1dLayer(2,'Stride',2)
fullyConnectedLayer(256)
reluLayer
dropoutLayer(0.5)
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
%----------------------Define training options-----------------------------
options = trainingOptions('adam', ...
'InitialLearnRate',0.01, ...
'MaxEpochs',50, ...
'MiniBatchSize',128, ...
'Shuffle','every-epoch', ...
'ValidationData',{xTest,yTest}, ...
'ValidationFrequency',5, ...
'Verbose',false, ...
'Plots','training-progress');
% Train the network
net = trainNetwork(xTrain, yTrain, layers, options);
This is my first time using these neural networks so I have left all the layers and options in case there is an error in those. Any help would be useful.
Thank you
Accepted Answer
More Answers (0)
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!