Keras在LSTM层之后丢失了时间步尺寸信息

时间:2019-05-08 14:48:02

标签: python keras neural-network lstm

我试图用Python在Keras上训练递归神经网络。在图形计算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

0 个答案:

没有答案