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

失礼致します. 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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

michio
michio am 19 Jan. 2018
Bearbeitet: michio am 19 Jan. 2018

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 19 Jan. 2018

Kommentiert:

am 31 Jan. 2018

Community Treasure Hunt

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

Start Hunting!