NeuralNetwork how to give in input and output

5 views (last 30 days)
hello,
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.
  1 Comment
Kuno Bruswachtl
Kuno Bruswachtl on 29 Dec 2021
or must I create the input and the output in a featuremap, where each cell corresponds to another cell?

Sign in to comment.

Accepted Answer

Srivardhan Gadila
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])
regressionLayer];
analyzeNetwork(layers)
batchSize = 5;
xtrain = randn(600,1,1,batchSize);
ytrain = randn(10,20,3,batchSize);
options = trainingOptions("sgdm");
net = trainNetwork(xtrain,ytrain,layers,options)
The other way is to not use trainNetwork function and instead use dlnetwork & Deep Learning Custom Training Loops based workflow.
  5 Comments
Kuno Bruswachtl
Kuno Bruswachtl on 4 Jan 2022
alright, i guess I got it. Thank you for your help!

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by