sequence to sequence classification - invalid training data

18 vues (au cours des 30 derniers jours)
Floriana Vasile
Floriana Vasile le 5 Nov 2021
Commenté : Floriana Vasile le 16 Nov 2021
Hi, I'm training a classification network:
%% def
inputSize = 1;
numHiddenUnits = 200;
numClasses = 2;
layers = [ ...
sequenceInputLayer(inputSize)
bilstmLayer(numHiddenUnits,'OutputMode','last')
dropoutLayer(0.5,"Name","dropout") %
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer]
I generated my data, which are:
  • the labels, that are arrays long 4000 elements (which are categorical), memorized in a cell array like this:
  • the signals, each long 4000 samples, memorized in a cell array, like this:
I tried to ''stick'' to this example (https://it.mathworks.com/help/deeplearning/ug/sequence-to-sequence-classification-using-deep-learning.html) to understand how to prepare the cell array for the labels, but when I use trainNetwork it gives me this error:
Error using trainNetwork (line 184)
Invalid training data. For image, sequence-to-label, and feature classification tasks, responses must be categorical.
I can't understand what's wrong, I tried to prepare the data in a different way, but it didn't work anyway, can you suggest what to try?

Réponse acceptée

Srivardhan Gadila
Srivardhan Gadila le 16 Nov 2021
The issue here is that you are using the bilstmLayer with 'OutputMode' set to 'last', which means that it would only output the last time step of the sequence and hence your network output would not be a 1x4000 categorical but instead 1x1 categorical.
Hence set the 'OutputMode' to 'sequence' and execute the code, it should work fine.
Refer to the documentation of bilstmLayer & description of OutputMode property for more information.

Plus de réponses (0)

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by