Error: Unused Output Layer

20 Ansichten (letzte 30 Tage)
Elaine Todd
Elaine Todd am 28 Jan. 2020
Beantwortet: Elaine Todd am 31 Jan. 2020
This is the full error I'm getting: Error using trainNetwork (line 150)
Invalid network.
Error in train (line 12)
Caused by:
Network: Missing output layer. The network must have one output layer.
Layer 4: Unused output. Each layer output must be connected to the input of another layer.
X is a 5 by 30 matrix that I'm trying to run through a relu, then a fully connected layer, and then a softmax to label the data as 0 or 1. I'm confused on why the softmaxLayer isn't taking in the data from the fullyConnectedLayer.
This is the function I'm trying to run.
function [trained_net] = train(X,Y)
% creates adam optimizer
options = trainingOptions('adam', 'InitialLearnRate',3e-4, ...
'SquaredGradientDecayFactor',0.99, 'MaxEpochs',20, ...
'MiniBatchSize',10, 'Plots','training-progress');
% creates layers
layers = [sequenceInputLayer(5)
reluLayer
fullyConnectedLayer(1)
softmaxLayer];
% trains network
trained_net = trainNetwork(X,Y,layers,options);

Antworten (2)

Elaine Todd
Elaine Todd am 31 Jan. 2020
Turns out that even though Softmax is in the output layer category, it isn't counted as an output. I added in a classification output layer after the softmax and it runs now.

Harsha Priya Daggubati
Harsha Priya Daggubati am 31 Jan. 2020
Hi,
I guess the issue is with fullConnectedLayer's outputSize, as it needs to be equal to the number of classes your network needs to classify. Try changing it to 2 and check whether it works.
  1 Kommentar
Elaine Todd
Elaine Todd am 31 Jan. 2020
That didn't fix it. Thanks for answering though.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Image Data Workflows finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by