Keras теряет информацию об измерении временного шага после слоя LSTM - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь обучить рекуррентную нейронную сеть с Keras на Python. После того, как график вычислит результат слоя LSTM, измерение временного шага потеряет свою информацию, как показано ниже.

код:

print('Creating model...')
print('max_encoder_seq_length', self.max_encoder_seq_length)
print('num_encoder_tokens', self.num_encoder_tokens)
self.encoder_inputs = Input(shape=(self.max_encoder_seq_length, self.num_encoder_tokens), name='encoder_inputs')
print('encoder_inputs.shape', self.encoder_inputs.shape)
print('encoder_inputs.shape', self.encoder_inputs.shape)
self.encoder_outputs = LSTM(self.lstm_dim,
                                    name='lstm_layer',
                                    return_sequences=True,
                                    )(self.encoder_inputs)
print('encoder_outputs.shape', self.encoder_outputs.shape)

Выход:

Number of samples: 8000
Number of unique input tokens: 59
Max sequence length for inputs: 93
encoder_input_data.shape: (8000, 93, 59)
Creating model...
max_encoder_seq_length 93
num_encoder_tokens 59
encoder_inputs.shape (?, 93, 59)
encoder_outputs.shape (?, ?, 64)

Итак, мой вопрос; Почему Keras теряет второе измерение, информацию о временном шаге? Это должно быть (?, 93, 64), но возвращается (?, ?, 64), почему?

Я использую:

python 3.6.8
Keras 2.2.4
...