【发布时间】:2020-02-25 13:34:26
【问题描述】:
我有:
self.model.add(Bidirectional(LSTM(lstm1_size, input_shape=(
seq_length, feature_dim), return_sequences=True)))
self.model.add(BatchNormalization())
self.model.add(Dropout(0.2))
self.model.add(Bidirectional(
LSTM(lstm2_size, return_sequences=True)))
self.model.add(BatchNormalization())
self.model.add(Dropout(0.2))
# BOTTLENECK HERE
self.model.add(Bidirectional(
LSTM(lstm3_size, return_sequences=True)))
self.model.add(BatchNormalization())
self.model.add(Dropout(0.2))
self.model.add(Bidirectional(
LSTM(lstm4_size, return_sequences=True)))
self.model.add(BatchNormalization())
self.model.add(Dropout(0.2))
self.model.add(Dense(feature_dim, activation='linear'))
但是,我想设置类似autoencoder 的设置,而不必拥有 2 个单独的模型。在我有评论 BOTTLENECK HERE 的地方,我想要一个维度的向量,比如 bottleneck_dim。
之后,应该是一些 LSTM 层,然后重建一个与初始输入具有相同维度的序列。但是,我相信添加Dense 层不会返回一个向量,而是返回每个序列长度的向量?
【问题讨论】:
标签: python tensorflow keras lstm autoencoder