Hi,
I have a dataset of 63 inputs and 1 output for a regression problem. Total sample 39686.
X: 63x39686
Y: 1x39686
I can easily use "net=fitnet(...)" and "train(net X,Y)" to train the model.
But I want to try the trainnetwork function. After configuring the layers like this:
layers = [
sequenceInputLayer(size(X,1),"Name","sequence_In","Normalization","rescale-zero-one")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
regressionLayer("Name","regressionoutput")];
and options:
options = trainingOptions('sgdm', ...
'InitialLearnRate',0.001, ...
'Verbose',false, ...
'Plots','training-progress');
Then I train the model:
net = trainNetwork(X,Y,layers,options);
But it always shows :
To RESHAPE the number of elements must not change.
Error in NN_training_deep (line 33)
net = trainNetwork(X_,Y',layers,options);
Does anyone know how to solve this problem?

 채택된 답변

Srivardhan Gadila
Srivardhan Gadila 2020년 3월 6일

0 개 추천

The outputSize argument for the fullyConnectedLayer before the regressionLayer must be 1 as the number of ouputs for your regression problem is 1.
layers = [
sequenceInputLayer(size(X,1),"Name","sequence_In","Normalization","rescale-zero-one")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
fullyConnectedLayer(1,"Name","fc_3")
regressionLayer("Name","regressionoutput")];

댓글 수: 3

Yunyu Hu
Yunyu Hu 2020년 3월 6일
Hi Srivardhan,
Thanks! It works. From the documenttation, the regression layer calculates only loss function for regression problem. So I can say it is not a real layer for the neural network, right?
Another question, when training the above problem, the iteration stopped after second iteration:
|======================================================================================================================|
| Epoch | Iteration | Time Elapsed | Mini-batch | Validation | Mini-batch | Validation | Base Learning |
| | | (hh:mm:ss) | RMSE | RMSE | Loss | Loss | Rate |
|======================================================================================================================|
| 1 | 1 | 00:00:00 | 488.06 | Inf | 119101.8125 | Inf | 0.0100 |
| 30 | 30 | 00:00:02 | NaN | NaN | NaN | NaN | 0.0100 |
|======================================================================================================================|
Do you know perhaps the reason?
BR
wahed fazeli
wahed fazeli 2020년 5월 30일
편집: wahed fazeli 2020년 5월 30일
Hi @Srivardhan Gadila can you solve my problem in this subject?
I have a dataset of 9 inputs and 1 output for training data. Total sample 488
B: 9x488
F: 1x488
I want to train my data using deep learning but when i want to do that .matlab r2018b give me nothing.
these are codes of matlab.
Firstly i have used this code but it gave me some errors.
layers = [
sequenceInputLayer(size(B,1),"Name","sequence_In","Normalization","rescale-zero-one")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
fullyConnectedLayer(1,"Name","fc_3")
regressionLayer("Name","regressionoutput")];
Error using sequenceInputLayer>iParseInputArguments (line 41)
'Normalization' is not a recognized parameter. For a list of valid name-value pair arguments, see the documentation
for this function.
Error in sequenceInputLayer (line 26)
inputArguments = iParseInputArguments(varargin{:});
so i have changed the code and write this code.so it worked at first.
layers = [
sequenceInputLayer(size(b,1),"Name","sequence_In")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
fullyConnectedLayer(1,"Name","fc_3")
regressionLayer("Name","regressionoutput")];
and write this code for options.
option=trainingOptions('sgdm','MaxEpochs',20,'InitialLearnRate',0.001,'Verbose',false,'Plots','training-progress');
net=trainNetwork(B,F,layers,option);
when i run this code the matlab give me nothing in result.the version of matlab i have used is R2018b
validation RMSE: N/A and other parameters this is the snap shot of results.I dont know what is problem.can anyone help me fix this error .thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

질문:

2020년 3월 3일

편집:

2020년 5월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by