NeuralNetwork how to give in input and output
5 views (last 30 days)
Kuno Bruswachtl on 29 Dec 2021
I know to most of you this question might be silly and stupid but I cannot find the correct answer anywhere. I am stuck in the model training process with CNNs where I cannont find out the following: How to give the trainnetwork function the input as well as the output. My input in that case is a 1D cell array (6570x1) and my output is a 3D(10x10x5) cell array. I am familiar with how to do that in python, where the fit-function takes in both, the input as well as the output argument. Is there a similar way to do this in Matlab? Since I don´t see any solution to this. thank you so much in advance.
Srivardhan Gadila on 2 Jan 2022
As per my knowledge, the first approach is to use imageInputLayer as input layer of your network (I think with featureInputLayer as input layer it may not work) and prepare the training data according to the format mentioned in the images & responses sections of the trainNetwork function.
The following is a very basic example:
layers = [imageInputLayer([600 1 1])
resize3dLayer(OutputSize=[10 20 3])
batchSize = 5;
xtrain = randn(600,1,1,batchSize);
ytrain = randn(10,20,3,batchSize);
options = trainingOptions("sgdm");
net = trainNetwork(xtrain,ytrain,layers,options)