how to extract the learned features from a dlnetwork

10 views (last 30 days)
I wanted to extract the feature vector of training and testing data from a dlnetwork by using the activations and forward functions, matlab show me this error with any format of training and testing data, Incorrect number or types of inputs or outputs for function activations or forward function.
featureSet = forward(net,trainData,net.Layers(181).Name,'OutputAs','columns');
featureSet = activations(net,dltrainData,net.Layers(181).Name);
is there another running instruction with another format of training and testing data
  6 Comments
eline
eline on 24 Aug 2024
No, I am working on a network that has an arcfaceLayer with two inputs
Umar
Umar on 25 Aug 2024
Hi @Elaine,
If you need any assistance with face recognition task or defining a custom layer that processes both inputs accordingly, please let us know.

Sign in to comment.

Answers (1)

Matt J
Matt J on 23 Aug 2024
featureSet = forward(net,trainData,'Outputs',net.Layers(181).Name);
  2 Comments
eline
eline on 23 Aug 2024
matlab still throws this error message :
Incorrect number of network inputs. Network has 2 inputs, but 1 inputs were passed. To determine number and order of inputs, check network 'InputNames' property.
Matt J
Matt J on 23 Aug 2024
Edited: Matt J on 23 Aug 2024
If your network has two inputs, the syntax is supposed to be like this,
featureSet = forward(net,In1,In2,'Outputs',net.Layers(181).Name);
where In1 and In2 are the two network inputs as dlarrays. If trainData is a datastore, you cannot give it to forward() directly. You will have to read a particular In1 and In2 from the datastore and convert them to dlarrays.

Sign in to comment.

Categories

Find more on Image Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!