incorrect matrix size while training data
이전 댓글 표시
I am training a neural network with input [25x1x1].
I am taking input using imageInputLayer([25 1]).

My training data is sotred in the variable images which is of size [25x1x1x80000].
But when I run the program to train the network I get an error:

I dont know what is causing this error. My input dimensions match with the dimensions of my training data and everything else in the network seems fine.
Please help.
댓글 수: 5
KSSV
2020년 6월 17일
Try squeezing the training data to 25*80000
Arpan Parikh
2020년 6월 17일
Christian
2020년 6월 17일
Mayge I get your question wrong, but this seems to be a problem of your order of dimensions. I never used it, but you could try to play around with permute().
E.g.:
image = images(1,:,:); % gives size [1x25x1]
image = permute(image, [2,1,3]); % or [2,3,1]
Make sure the image is not mirrored or rotated afterwards.
Arpan Parikh
2020년 6월 17일
Arpan Parikh
2020년 6월 17일
답변 (1개)
Raynier Suresh
2021년 2월 17일
Hi, check whether you have defined the architecture of your network correctly, you can do this by using the command "analyzeNetwork(layers)". For input layer size [25 1] and the training data size [25 1 1 80000] the trainNetwork function should work fine for example you can refer the code below.
layers = [imageInputLayer([25 1])
convolution2dLayer(1,32)
reluLayer
fullyConnectedLayer(4)
softmaxLayer
classificationLayer];
options = trainingOptions('sgdm', ...
'MaxEpochs',1,...
'InitialLearnRate',1e-4, ...
'Verbose',false, ...
'Plots','training-progress');
Xtrain = rand(25,1,1,80000);
Ytrain = categorical(randi(4,80000,1));
net = trainNetwork(Xtrain,Ytrain,layers,options);
카테고리
도움말 센터 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!