train network error. reshape number of elements must not change. Use [] to automatically calculate the dimension size.
11 views (last 30 days)
Show older comments
my input is a combined datastore of - 28x28 double input, and 1x1 categorical label.
layers = [
imageInputLayer([28 28 1],"Name","imageinput","Normalization","none")
fullyConnectedLayer(1,"Name","fc_2")
softmaxLayer("Name","softmax")
classificationLayer("Name","classoutput")];
miniBatchSize = 28;
options =
trainingOptions('adam', ...
'ExecutionEnvironment','cpu', ...
'MaxEpochs',84, ...
'MiniBatchSize',miniBatchSize, ...
'GradientThreshold',2, ...
'Shuffle','never',...
'Verbose',0, ...
'Plots','training-progress');
net = trainNetwork(cdsTrain,layers,options);
i get an error at trainnetwork script:
Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate size for that dimension.
Caused by:
Error using reshape
Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate size for that dimension.
I have tried quite a few similar designs for layers, by adding a few more layers in different manners, but they all display the same error, so i suspect it has something to do with the fully connected layer.
1 Comment
Arpana Singh
on 13 Oct 2022
Plz help me with this error,
although i have checked my array, everyting sems fine.plz help
code
layers = [
sequenceInputLayer(inputSize)
lstmLayer(numHiddenUnits)
fullyConnectedLayer(numHiddenUnits)
regressionLayer
];
options = trainingOptions('adam', ...
'MaxEpochs',100, ...
'GradientThreshold',0.01, ...
'InitialLearnRate',0.0001);
net= trainNetwork(XTrain,YTrain,layers,options);
geeting the erron in line -net= trainNetwork(XTrain,YTrain,layers,options);
Error using trainNetwork
Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate size for
that dimension.
Error in LSTM (line 27)
net= trainNetwork(XTrain,YTrain,layers,options);
Caused by:
Error using reshape
Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate size
for that dimension.
>>
Answers (2)
Mahesh Taparia
on 12 May 2020
Hi
You are having an input of size MxN and you are directly reshaping it to a vector of length 1x1. Before the fullyConnectedLayer, there is a need to vectorized the features. To do this you can use flattenLayer before the fullyConnectedLayer. For more information, you can refer to this documentation of flattenLayer.
0 Comments
Nikolina Jarak
on 9 May 2021
I also got this error. Can anyone help mw how to solve?
caused by: error using reshape number of elements must not change. use [] as one of the size inputs to automatically calculate the appropriate size for that dimension.
0 Comments
See Also
Categories
Find more on Image Data Workflows 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!