MATLAB Answers

0

Why accept Matlab no vector as a response when I use CNN with residual connection?

Asked by Osama Tabbakh on 22 May 2019
Latest activity Commented on by Osama Tabbakh on 29 May 2019
I train my own CNN model like this tutorial:
but I need no classification layer at the end my neural network, but regression layer. That's why I need to define a vector for each sample. All in all, I have to train a matrix(40*num_of_samples), which must be converted into a 4D array like this tutorial:
I get this error:
Invalid validation data. Y must be a vector of categorical responses.
Does someone know how I can fix this?

  2 Comments

Can you please provide more information about inputs and outputs to your CNN? It will be good if you can provide code sample.
Let say this is my input images:
X_Train(:,:,3,3000) = rand(100);
my outputs are defined like this:
Y_4D_train=randn(1,1,40,3000);
and the data for validation:
X_Val(:,:,3,1000) = rand(100);
Y_4D_Val =randn(1,1,40,1000);
and then I did like the tutorial:
imageSize = [100 100 3];
pixelRange = [-4 4];
imageAugmenter = imageDataAugmenter( ...
'RandXReflection',true, ...
'RandXTranslation',pixelRange, ...
'RandYTranslation',pixelRange);
augimdsTrain = augmentedImageDatastore(imageSize,X_Train,Y_4D_train, ...
'DataAugmentation',imageAugmenter, ...
'OutputSizeMode','randcrop');
...
...
At the end:
trainedNet = trainNetwork(augimdsTrain,lgraph,options);

Sign in to comment.

Products


Release

R2019a

0 Answers