Error: Invalid network layer does not support sequence input

1 次查看(过去 30 天)
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');

采纳的回答

Mahesh Taparia
Mahesh Taparia 2021-1-29
Hi
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)
Hope it will help!

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parallel and Cloud 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by