🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

1回答

1505閲覧

Keras PredictでのValueErrorについて

succulent

総合スコア12

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2020/12/19 04:39

#やりたいこと
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)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python

1c = input_ = Input(shape=(5,)) 2print(c) 3#c = Flatten()(c)

ですかね

投稿2020/12/19 05:50

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

succulent

2020/12/19 08:02

出来ました!ありがとうございます!! ちなみに何がいけなかったんですかね...?
jbpb0

2020/12/19 08:16

Input(shape=(5, 1)) の「1」のため、もう一つ次元ができます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問