CNN: How to create label vector acceptable by trainNetwork
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Parichada Trairat
le 15 Août 2021
Réponse apportée : Anshika Chaurasia
le 17 Sep 2021
I'm trying to create cnn for load forecasting. I try to create lebel vector for training but it didn't work.
I have 3 types of data with 1920 samples fo each for training set (1920x3 double) and 3 types of data with 768 samples fo each for testing set (768x3 double). I reshaped train data to 4D array.
this is my code for this work.
%% Reshaped input
Train_dataset = reshape(Train_data, [1 1920 1 3]);
% Creat the labels
label = (1:3,:);
Train_Labels = categorical(label);
%% Layers
layers = [ ...
imageInputLayer([1 1920 1])
convolution2dLayer(1,20)
reluLayer
maxPooling2dLayer(1,'Stride',1)
fullyConnectedLayer(1)
softmaxLayer
classificationLayer];
%% Train Options
train_options = trainingOptions('sgdm');
%% Train network
net = trainNetwork(Train_dataset, Train_Labels, layers, train_options);
%% Test network
Pred = classify(net, Test_data)'
What is the train lebel should look like? or somewhere was wrong?
the error frequently shows 'Number of observations in X and Y disagree.'
0 commentaires
Réponse acceptée
Anshika Chaurasia
le 17 Sep 2021
Hi,
The error is appearing because the number of observations in "Train_dataset" and "Train_Labels" are different.
So, if "Train_dataset" is 1920x3 then "Train_Labels" should be 1920x1.
One more thing, following line can throw error as indexing can be applied on an array:
label = (1:3,:);
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Data Workflows dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!