predictAndUpdateState関数で時系列の予測をしていた時に起きた問題
Show older comments
LSTMネットワークを用いて時系列の学習を行った後に予測を行おうとしたのですが、エラーが出てきてうまくできません。下のコードからどこを直したらいいか、また何が原因なのか教えてほしいです。よろしくお願いします。
ちなみにこのコードはhttps://jp.mathworks.com/videos/prediction-and-classification-of-time-series-data-using-lstm-1536600512822.html
から持ってきてデータを自分の時系列のデータに変えました。
%% 未来の時間領域での予測
% 過去データを入力して状態を更新
net = predictAndUpdateState(net, XTrain);
% 1ステップ目の予測
[net, YPred(1)] = predictAndUpdateState(net, XTest(1));
Ypred=zeros(1,5000);
% 2ステップ目以降の予測
for i = 2:numTimeStepsTest
[net, YPred(i)] = predictAndUpdateState(net, YPred(i - 1));
end
YPred = sig * YPred + mu;
エラー: DAGNetwork/predictRNN>iAssertInitialStateIsValidForPredict (行 67)
不適切なネットワークの状態。ネットワークでは 19 のミニバッチ サイズが必要ですが、サイズ 128 のミニバッチが渡されました。
エラー: DAGNetwork/predictRNN (行 9)
iAssertInitialStateIsValidForPredict(statefulLayers, dispatcher.MiniBatchSize)
エラー: DAGNetwork/predictAndUpdateState (行 127)
[Y, finalState, predictNetwork] = this.predictRNN(X, dispatcher, ...
エラー: SeriesNetwork/predictAndUpdateState (行 394)
[this.UnderlyingDAGNetwork, Y] = this.UnderlyingDAGNetwork.predictAndUpdateState(X, varargin{:});
Accepted Answer
More Answers (0)
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!