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

조회 수: 1 (최근 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 CenterFile Exchange에서 時系列、シーケンス、およびテキストを使用した深層学習에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!