Time series training using 2D CNN

8 Ansichten (letzte 30 Tage)
igor Lisogursky
igor Lisogursky am 23 Sep. 2020
Kommentiert: igor Lisogursky am 9 Okt. 2020
Hi ,
I am trying to use 2D CNN to train and then predict time series (specifically analog signal splitted into 5 samples each sequence ---> the whole input matrix is Nx5) ...
Though i defined 4d matrices XTrain and YTrain for trainNetwork() function as follows :
... COMMENTS ...
I defently defined 4d matrix with images 1xchannel_length but still getting the error below :
"
>> MatlabNnPilot
155 net = trainNetwork(XTrain,YTrain,layers,options);
Error using trainNetwork (line 165)
Invalid training data. X must be a 4-D array of images.
Error in MatlabNnPilot (line 155)
net = trainNetwork(XTrain,YTrain,layers,options);
"
Please advise how to resovle it if possible ?
Igor
  1 Kommentar
igor Lisogursky
igor Lisogursky am 27 Sep. 2020
As well attaching here the sizes of XTrain and YTrain from the same code :

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Srivardhan Gadila
Srivardhan Gadila am 28 Sep. 2020
I tried the following code which is written based on the above mentioned code & I'm not getting any errors. You can refer to the net = trainNetwork(X,Y,layers,options) syntax and also it's corresponding Input Arguments description.
Try checking the following code once:
input_size = 5;
output_size = 1;
numHiddenUnits = 32;
epochs = 50;
nTrainSamples = 40725;
layers = [ ...
imageInputLayer([1 input_size 1],'Name','input')
convolution2dLayer([1 input_size],1,'Name','conv')
batchNormalizationLayer('Name','bn')
reluLayer('Name','relu')
fullyConnectedLayer(output_size, 'Name','fc')
regressionLayer('Name','regression')];
% lgraph = layerGraph(layers);
% analyzeNetwork(layers)
%%
trainData = randn([1 5 1 nTrainSamples]);
% trainLabels = randn(nTrainSamples,numClasses);
trainLabels = randn([1 1 1 nTrainSamples]);
size(trainData)
size(trainLabels)
%%
options = trainingOptions('adam', ...
'InitialLearnRate',0.005, ...
'ValidationData',{trainData,trainLabels},...
'LearnRateSchedule','piecewise',...
'MaxEpochs',epochs, ...
'MiniBatchSize',32, ...
'Verbose',1, ...
'Plots','training-progress');
net = trainNetwork(trainData,trainLabels,layers,options);
  5 Kommentare
Srivardhan Gadila
Srivardhan Gadila am 6 Okt. 2020
@igor Lisogursky, you can verify the same by creating your network and using analyzeNetwork function to view the shape of the activations after each layer.
igor Lisogursky
igor Lisogursky am 9 Okt. 2020
Thanks @Srivardhan Gadila for a responde it will be usefull func

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by