数値データの畳み込みができません.

失礼致します. sequenceInputLayerとconvolution2dLayerを同時に使用することができません. Construct and Train an LSTM Networkの例題を実行しました.
その後,層の定義の部分でLSTMレイヤーを畳み込み層等に変更して実行すると「インデックスが行列の次元を超えています.」とでます. convolution2dLayerの引数に問題があるように思うのですが,何か解決策はありますでしょうか?
load JapaneseVowelsTrain
layers = [ ...
sequenceInputLayer(12)
convolution2dLayer([1 3],3,'Stride',[1 1]);
reluLayer();
fullyConnectedLayer(9)
softmaxLayer
classificationLayer]
maxEpochs = 150;
miniBatchSize = 27;
options=trainingOptions('sgdm','MaxEpochs',maxEpochs,...
'MiniBatchSize',miniBatchSize);
CNNConvnet = trainNetwork(X,Y,layers,options)
load JapaneseVowelsTest
miniBatchSize = 27;
YPred = classify(CNNConvnet,XTest,...
'MiniBatchSize',miniBatchSize);
acc = sum(YPred == YTest)./numel(YTest)

1 个评论

mizuki
mizuki 2018-1-31
R2017b のバージョンでは、sequenceInputLayer() に対して convolution2dLayer() を適用することができない状況のようです。
時系列データに対しては LSTM がよく使用されますので、内容に依ってはこちらもご検討ください。

请先登录,再进行评论。

 采纳的回答

michio
michio 2018-1-19
编辑:michio 2018-1-19

0 个投票

imageInputLayer([1 6000]);
などと、信号を 1xN の"画像"として取り扱った例があります。
layers = [imageInputLayer([1 6000])
convolution2dLayer([1 200],20,'stride',1)]
と構成していきます。英語ですがより具体的な例はこちらも参考にしてください。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Deep Learning Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!