Extracting features from one layer of dlnetwork model MATLAB 2023a

19 次查看(过去 30 天)
I have used the multi-input CNN network example on the following link :
After the traing and getting the predction, I need to extract the features from one of the max pooling layers of the dlnet model.
Can you help by writing the code to do so?
I have tried to use activations function with the dlnet model but not working
for example, using activation with SeriesNetwork or DAGNetwor , the code is
layer = "pool10";
featuresTrain = activations(net,augimdsTrain,layer,OutputAs="rows");
featuresTest = activations(net,augimdsTest,layer,OutputAs="rows");
What is the code to do the same if I have dlnetwork model?

回答(1 个)

V Sairam Reddy
V Sairam Reddy 2023-4-19
Hi Mahmoud,
I understand that you want a way to visualise the activations in a dl network.
The 'activations' function in MATLAB is however only supported in SeriesNetwork or DAGNetwork object. Instead you can use the 'foward' function to get the activations in a dl network.
Please find the attached code below:
features = forward(dlNetwork, dlArray, 'Outputs', layerName);
% In your case:
features = forward(dlnet, dlarray(single(XUpper),'SSCB'), 'Outputs', 'pool10');
To know more about the forward function, please check the following link from the documentation:
https://www.mathworks.com/help/deeplearning/ref/dlnetwork.forward.html
  1 个评论
MAHMOUD EID
MAHMOUD EID 2023-4-22
Hi. The issue is how to pass the two inputs to the command predict. when I run the mentioned command , I have recived this error message @V Sairam Reddy
Error using deep.internal.network.dlnetwork/validateForwardInputs
Incorrect number of network inputs. Network has 2 inputs, but 1 inputs were passed.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by