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

2 ビュー (過去 30 日間)
Asuka
Asuka 2018 年 1 月 19 日
コメント済み: mizuki 2018 年 1 月 31 日
失礼致します. 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 日
imageInputLayer([1 6000]);
などと、信号を 1xN の"画像"として取り扱った例があります。
layers = [imageInputLayer([1 6000])
convolution2dLayer([1 200],20,'stride',1)]
と構成していきます。英語ですがより具体的な例はこちらも参考にしてください。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDeep Learning Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!