我试图构造一个编码器来获取潜在空间,以便绘制它。我真的不知道我是否可以从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
1条答案
按热度按时间sq1bmfud1#
你需要把模型分成两部分(编码器和解码器),然后使用编码器部分的输入和输出构建编码器。顺便说一下,输出将是使用RepeatVector之前的最后一层。