Keras の単語レベルで言語モデルをトレーニングしようとしています。
私は X と Y を持っています。どちらも (90582L、517L) の形状です。
このモデルを当てはめてみると:
print('Build model...')
model = Sequential()
model.add(GRU(512, return_sequences=True, input_shape=(90582, 517)))
model.add(Dropout(0.2))
model.add(GRU(512, return_sequences=True))
model.add(Dropout(0.2))
model.add(TimeDistributedDense(1))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
model.fit(x_pad, y_pad, batch_size=128, nb_epoch=2)
エラーが発生します:
Exception: Error when checking model input:
expected gru_input_7 to have 3 dimensions, but got array with shape (90582L, 517L)
入力形状がどうあるべきかについてのガイダンスが必要ですか? 私はあらゆる種類の組み合わせで試行錯誤を行ってきましたが、根本的なことを誤解しているようです.
Keras テキスト生成の例では、X 行列は 3 次元でした。3 次元がどうあるべきかはわかりません。