trainNetwork RESHAPE error line 170

2 views (last 30 days)
Elaine Todd
Elaine Todd on 3 Feb 2020
Commented: Namasi Gomathi on 10 May 2020
Hi. I keep getting this error
Error using trainNetwork (line 170)
To RESHAPE the number of elements must not change.
I'm not quite sure what I am doing wrong since the trainNetwork function is kinda hard to understand without spending hours on going through it.
This is my code. My X is a 100x5 double and my Y is a 100x1 categorical.
layers = [sequenceInputLayer([100,5,1])
flattenLayer
bilstmLayer(100)
fullyConnectedLayer(10)
reluLayer
fullyConnectedLayer(2)
softmaxLayer
classificationLayer];
trained_net = train2(X,Y, layers);
Train2 function
function trained_net = train2(X,Y, layers)
% creates adam optimizer
options = trainingOptions('adam', 'InitialLearnRate',3e-4, ...
'SquaredGradientDecayFactor',0.99, 'MaxEpochs',20, ...
'MiniBatchSize',10, 'Plots','training-progress');
% trains network
trained_net = trainNetwork(X,Y,layers,options);

Answers (1)

Vinai Datta Thatiparthi
Vinai Datta Thatiparthi on 6 Feb 2020
Hello Elaine,
The code that you have written fails in the input validation phase of trainNetwork. The output size of the network does not match the size of the response data. Since you are defining a classification network, the output is a “classes mismatch” error. You may have to revisit the definition of layers to solve the problem.
Consider using the MATLAB debugging tools to pinpoint areas of code which is creating the error.
Hope this helps!
  3 Comments
Vinai Datta Thatiparthi
Vinai Datta Thatiparthi on 10 Feb 2020
Hey Elaine,
Which version of MATLAB are you using?
Namasi Gomathi
Namasi Gomathi on 10 May 2020
Im facing the same problem on R2020a

Sign in to comment.

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!