Error: Invalid network layer does not support sequence input

Illustration
jerrysmith_11 - 2021-04-15T12:18:59+00:00
Question: Error: Invalid network layer does not support sequence input

hi, i am building a CNN training model. however, i got this error that do not know how to solve. i tried to insert a sequence folding layer then i got error again saying that "unconnected input and output". please help me with this     % Load training data and essential parameters load('trainData.mat','XTrain','YTrain'); numSC = 64; % Batch size miniBatchSize = 4000; % Iteration maxEpochs = 10; % Sturcture inputSize = [6,64,1]; numHiddenUnits = 128; numHiddenUnits2 = 64; numHiddenUnits3 = numSC; numClasses = 16; % DNN Layers layers = [ ... sequenceInputLayer(inputSize,'Name','sequence') convolution2dLayer(3,32,'Name','conv2') reluLayer('Name','relu') maxPooling2dLayer(2,'Name','maxpool') flattenLayer('Name','flat') lstmLayer(numHiddenUnits,'OutputMode','last','Name','lstm') fullyConnectedLayer(numClasses,'Name','fc') softmaxLayer('Name','sm') classificationLayer('Name','class')]; % Training options options = trainingOptions('adam',... 'InitialLearnRate',0.01,... 'ExecutionEnvironment','auto', ... 'GradientThreshold',1, ... 'LearnRateDropFactor',0.1,... 'MaxEpochs',maxEpochs, ... 'MiniBatchSize',miniBatchSize, ... 'Shuffle','every-epoch', ... 'Verbose',1,... 'Plots','training-progress'); % Train the neural network tic; net = trainNetwork(XTrain,YTrain,layers,options); toc; save('NN.mat','net');

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

There is a requirement of sequenceFoldingLayer and sequenceUnfoldingLayer in the layer graph. For a sample layergraph, you can refer here. You can consider the below code for your case:
 
 
% DNN Layers
layers = [ ...
    sequenceInputLayer(inputSize,'Name','sequence')
    sequenceFoldingLayer('Name','fold')
    convolution2dLayer(3,32,'Name','conv2')
    reluLayer('Name','relu')
    maxPooling2dLayer(2,'Name','maxpool')
    sequenceUnfoldingLayer('Name','unfold')
    flattenLayer('Name','flat')
    lstmLayer(numHiddenUnits,'OutputMode','last','Name','lstm')
    fullyConnectedLayer(numClasses,'Name','fc')
    softmaxLayer('Name','sm')
    classificationLayer('Name','class')];

lgraph = layerGraph(layers);
lgraph = connectLayers(lgraph,'fold/miniBatchSize','unfold/miniBatchSize');
analyzeNetwork(lgraph)


Function
layer = sequenceInputLayer(inputSize,Name,Value) sets the optional MinLengthNormalizationMean, and Name properties using name-value pairs. You can specify multiple name-value pairs. Enclose each property name in single quotes.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!