質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

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

Python 3.x

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

Q&A

1回答

3849閲覧

kerasの1層LSTMで型エラーが出てしまいます。input_shapeが異なるのだと思うのですが、、

CanaD

総合スコア13

Keras

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

Python 3.x

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

0グッド

0クリップ

投稿2019/05/03 14:07

LSTMでテキスト分類をしたいです。
inputは(レコード数, 単語数)=(2085, 1000)です。
input_shapeが異なるのだと思うのですが、エラーが解消できません。。

Python

1# モデル構築 2num_classes = 3 3batch_size = 32 4epochs = 5 5max_words = 1000 6 7model = Sequential() 8model.add(LSTM(16, return_sequences=False, input_shape=(None, max_words))) 9 10model.add(Dense(num_classes, activation='softmax')) 11model.compile(loss='categorical_crossentropy', 12 optimizer='adam', 13 metrics=['accuracy']) 14 15model_fit = model.fit(X_train_mat, Y_train_cat, 16 batch_size=batch_size, 17 epochs=epochs, 18 verbose=1, 19 validation_split=0.1)

エラーログ

Error when checking input: expected lstm_20_input to have 3 dimensions, but got array with shape (2085, 1000)

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

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

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

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

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

guest

回答1

0

Kerasの場合、最初の次元数はバッチ数でないといけません。
すなわち、入力データは(レコード数, 単語数)ではなく、(バッチ数, レコード数, 単語数)でないといけません。
なお、LSTMのinput_shapeはバッチ数は省略するため、このままで問題ないと思います。

投稿2019/05/04 02:33

編集2019/05/04 08:18
fiveHundred

総合スコア9796

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

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

CanaD

2019/05/04 07:03

その場合、このエラーログの意味がわかりません。 got array with shape (2085, 1000) で正しい気がするのですが…。
fiveHundred

2019/05/04 08:12

だから、そこが間違っています。 入力データは(バッチ数, レコード数, 単語数)とすべきなので、(バッチ数, 2085, 1000)にしなければなりません。
fiveHundred

2019/05/04 08:20

と思ったら、余計な文字が入って回答自体が間際らしくなっていましたね。 勘違いさせていたのであれば、失礼しました。
CanaD

2019/05/04 09:38

ありがとうございます。 言葉が足りませんでした。 ご指摘いただいたとおりinput_shape = (2085, 1000)にしたのですが、 同じエラーログが出てしまいます。。
fiveHundred

2019/05/04 10:08

全く違います。 入力データを3次元配列にすべきところを2次元配列にしている、という点が間違っています。 その最初の次元には、バッチ数を指定してください。 モデル自体は間違っていませんので、input_shapeなどを変更する必要はありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問