input sequence for lstm network
1 次查看(过去 30 天)
显示 更早的评论
hi - i am sorry for asking many questions on LSTM but i find the implementation very confusing in matlab. I have a 32x305296 array of doubles which is generated by embedding musical note tokens in 32 dimensions. Effectively, we have 305296 notes of dimension 32 each in a time sequence. I need to create a LSTM network to train and predict the next note. (so it's a classification problem rather than regression as the token must be one of the permissible notes). I have set up the NN below. When i run the code I get this error
"Invalid training data. For image, sequence-to-label, and feature classification tasks, responses must be categorical."
Bearing in mind that this is a time sequence of embedded notes and not a group of labels, how do i change the time series of tokens to a permissible type?
layers = BachBotNN(32,32,0.3);
function [layers]=BachBotNN(inputSize,numHiddenUnits,dropoutProb)
layers = [ ...
sequenceInputLayer(inputSize)
lstmLayer(numHiddenUnits,'OutputMode','sequence')
batchNormalizationLayer
dropoutLayer(dropoutProb)
lstmLayer(numHiddenUnits,'OutputMode','sequence')
batchNormalizationLayer
dropoutLayer(dropoutProb)
lstmLayer(numHiddenUnits,'OutputMode','last')
batchNormalizationLayer
dropoutLayer(dropoutProb)
fullyConnectedLayer(1)
softmaxLayer
classificationLayer
]
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!