predictAnd​UpdateStat​e関数で時系列の予測​をしていた時に起きた​問題

6 次查看(过去 30 天)
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{:});

采纳的回答

Hiro Yoshino
Hiro Yoshino 2022-11-4
predictAndUpdateState のオプションに "MiniBatchSize" というオプションがあります。このデータ数の単位で処理を実行します。デフォルトのサイズは 128 個です。この場合だと
net = predictAndUpdateState(net, XTrain);
を実行する前に、
size(XTrain)
等で、入力データの数を確認してください。
  • これが 128 未満だと、入力データ数が MiniBatchSize として設定されます
  • 128 より大きく、MiniBatchSize を指定しない場合は 128 の剰余分が MiniBatchSize になります
predictAndUpdateState を二回目以降に実行する際は、MiniBatchSize 以上のデータサイズは受け付けません。
今回の場合は
net = predictAndUpdateState(net,XTrain(end)); % データを1つ入れてあげる
[net, YPred(1)] = predictAndUpdateState(net, XTest(1));
for i = 2:numTimeStepsTest
[net, YPred(i)] = predictAndUpdateState(net, YPred(i - 1));
end
等して、最後の1つで更新してあげれば良いのではと思います。
  2 个评论
健太郎 藤本
健太郎 藤本 2022-11-9
最初のところをnet=predictAndUpdateState(net,XTrain,MiniBatchSize=1);
としてみたんですけどこれもやってることとしては同じっぽくて良かったです。ご回答ありがとうございます。
Hiro Yoshino
Hiro Yoshino 2022-11-14
编辑:Hiro Yoshino 2022-11-14
良かったです。問題が解決されましたら、answer accept して close していただけますか?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 時系列、シーケンス、およびテキストを使用した深層学習 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!