#やりたいこと
Keras初心者です.
練習として1,2,3,4,5のような1次元の情報から2つのoutputを出力するモデル(今後入力を増やす予定)を定義したいのですが,predictの段階で以下のようなエラーを吐いてしまいます.
ValueError: Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (1, 5)
・なぜ3次元が期待されるのか
・1次元を入力する場合どう変更すれば良いのか
ご教授いただければ幸いです.
(importに関しては参考にしたサイトのをコピペしております)
#サンプルコード
import tensorflow as ts from keras.models import Model from keras.optimizers import Adam from keras.layers import Conv2D, Flatten, Dense, Input, Lambda, concatenate from keras import backend as K import numpy as np if __name__ == "__main__": input_shape = (1,2,3,4,5) nb_actions = 2 print(nb_actions) c = input_ = Input(shape=(5, 1)) print(c) c = Flatten()(c) c = Dense(10, activation="relu")(c) c = Dense(nb_actions, activation="linear")(c) model = Model(input_, c) # compile optimizer = Adam metrics = [] model.compile( loss='mean_squared_error', optimizer=optimizer(), metrics=metrics) res = model.predict(np.array([input_shape]))
#エラー
Traceback (most recent call last): File "test_dqn.py", line 34, in <module> res = model.predict(np.array([input_shape])) File "/Users/sooo/.pyenv/versions/3.7.2/lib/python3.7/site-packages/keras/engine/training.py", line 1149, in predict x, _, _ = self._standardize_user_data(x) File "/Users/sooo/.pyenv/versions/3.7.2/lib/python3.7/site-packages/keras/engine/training.py", line 751, in _standardize_user_data exception_prefix='input') File "/Users/sooo/.pyenv/versions/3.7.2/lib/python3.7/site-packages/keras/engine/training_utils.py", line 128, in standardize_input_data 'with shape ' + str(data_shape)) ValueError: Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (1, 5)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/19 08:02
2020/12/19 08:16