如何从基于LSTM的自编码器获得潜在空间表示?



我试图构建一个编码器来获得潜在空间,以便绘制它。我真的不知道我是否可以从RepeatVector中得到它,或者我是否必须添加一个Dense图层。

下面是我的代码:
model = Sequential()
model.add(LSTM(16, activation='relu', return_sequences=True, input_shape= (x_train.shape[1], 1)))
model.add(LSTM(4, activation='relu', return_sequences=False)) #Encoder
model.add(RepeatVector(X_train.shape[1])) #Latent
model.add(LSTM(4, activation='relu', return_sequences=True)) #Decoder
model.add(LSTM(16, activation='relu', return_sequences=False)) #Decoder
model.add(TimeDistributed(Dense(X_train.shape[2]))) #Decoder

您需要将模型分成两部分(编码器和解码器)。然后,使用编码器部分的输入和输出构建编码器。顺便说一句,输出将是使用RepeatVector之前的最后一层。

encoder = Model(inputs, output_from_encoder)

相关内容

  • 没有找到相关文章

最新更新