時系列データの入力方法について

256 views
Skip to first unread message

Happa Blue

unread,
Mar 10, 2021, 11:42:06 PM3/10/21
to Neural Network Console Users (JP)
 Keras(tf)で学習可能だった LSTM のモデルを NNC へ移して検討したいのですが、入力でエラーです。
Failed `inputs[0]->size(base_axis_) == shape_weights[0]`: Size of input data(inputs[0]) and weights(inputs[1]) mismatch.
size of input: -283996015 != size of weights: 21

 時系列を6個づつ区切ってこれに対するラベル(Y)を±1で付けています。時系列データは平均 0 分散 1 に標準化してあるので、±1をはみ出します(±3ぐらいまで)。
CSVファイルはトレーニングとバリデーションの二つです。変数の名前の付け方か何か間違っているのかと思います。絵も添付します。修正点を教えていただけますと幸いです。
Keras:
model = keras.models.Sequential([
    keras.layers.LSTM(20, return_sequences=True, input_shape=[None, 1]),
    keras.layers.Dense(1), ])
model.compile(loss="mse", optimizer="adam")model_data_error-msg_1.png

小林由幸

unread,
Jun 7, 2021, 2:47:29 AM6/7/21
to Neural Network Console Users (JP)
LSTMユニットにデータを入力する際は、少なくともテンソルを時刻次元とデータ次元を含んだ形に加工する必要があります。
Inputレイヤーの後ろにReshapeレイヤーを挿入し、OutShapeを6,1とすることで(6時刻分 x スカラ)正しく動作する可能性があります。

2021年3月11日木曜日 13:42:06 UTC+9 Happa Blue:
Reply all
Reply to author
Forward
0 new messages