我试图构建一个编码器来获得潜在空间,以便绘制它。我真的不知道我是否可以从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)