How to create personalized layers

2 views (last 30 days)
Fabrizio Bernardi
Fabrizio Bernardi on 27 Aug 2020
Edited: Fabrizio Bernardi on 31 Aug 2020
Hello everyone
I built a customed regression output layer named mylayer from here https://it.mathworks.com/help/deeplearning/ug/define-custom-regression-output-layer.html and I want to add it to the other layers of the network. I should use trainNetwork but I only found this example of definiton of layers:
layers = [
imageInputLayer([28 28 1])
convolution2dLayer(5,20)
batchNormalizationLayer
reluLayer
fullyConnectedLayer(1)
myLayer('myL')]
My problem however is NOT an image classification, I just want a couple of hidden layers with a number of neurons to be chosen and the usual weight and biases, passing as inputs a some scalar values. How should I define my object layers?
Thanks you in advice for your help!

Answers (1)

Anshika Chaurasia
Anshika Chaurasia on 31 Aug 2020
Hi Fabrizio,
It is my understanding that you have successfully created the custom Regression Ouput Layer – ‘myLayer’. You want to have some hidden layers and ‘myLayer’ in layers array. You could consider following codes:
layers = [
imageInputLayer([28 28 1])
fullyConnectedLayer(20)
reluLayer % optional
fullyConnectedLayer(1)
myLayer('myL')]
Refer to fullyConnectedLayer documentation for weight and bias properties of fullyConnectedLayer.
  2 Comments
Fabrizio Bernardi
Fabrizio Bernardi on 31 Aug 2020
Edit: now I tried with
layers = [
sequenceInputLayer(13)
%lstmLayer(40)
fullyConnectedLayer(20)
reluLayer % optional
fullyConnectedLayer(1)
maeRegressionLayer('mae')];
and it gives result! Even if with
YPred = predict(net,bodyfatInputs);
predictionError = YPred - bodyfatTargets;
The erros are very large and the output are almost all the same though...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!