Neural Network Last Layer Shows a Different Number of Outputs
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
So I have the following inputs and outputs with their respective dimenions
input: 521 x 21048
output: 15 x 21048
So basically I have 15 classes, and the network should tell me what class the input belongs to.
This is the network's configuration:
trainFcn = 'trainscg';
hiddenLayerSize = ([10 5]);
net = patternnet(hiddenLayerSize, trainFcn);
net.input.processFcns = {'removeconstantrows','mapminmax'};
net.divideFcn = 'dividerand'; % Divide data randomly
net.divideMode = 'sample'; % Divide up every sample
net.divideParam.trainRatio = 90/100;
net.divideParam.valRatio = 5/100;
net.divideParam.testRatio = 5/100;
net.performFcn = 'crossentropy'; % Cross-Entropy
net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ...
'plotconfusion', 'plotroc'};
[net,tr] = train(net,x,t);
However, when I view the network, it always shows the output player with "13" outputs instead of 15!
This does not happen when I use the GUI to train the network. But as soon as I use the advanced scipt (even with the same configurations I set in the GUI) I still get 13 in the output layer, whether it is 1 layer or multiple ones.
2 Commenti
Greg Heath
il 30 Gen 2019
I still get 15 with
close all, clear all, clc
x = randn( 521, 21048);
t = rand( 15, 21048);
YOUR CODE
view(net)
HOPE THIS HELPS
GREG
Risposte (1)
Greg Heath
il 29 Gen 2019
Modificato: Greg Heath
il 30 Gen 2019
Line 2: target, not output
trainFcn is undefined.
I get 15, not 13 in the figure
Hope this helps.
Thank you for formally accepting my answer
Greg
1 Commento
Vedere anche
Categorie
Scopri di più su Sequence and Numeric Feature Data Workflows in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!