Machine learning Keras中序列对序列自动编码器解码器模型的建立
我正在使用这个示例,但对如何制作单独的解码器模型感到困惑Machine learning Keras中序列对序列自动编码器解码器模型的建立,machine-learning,keras,Machine Learning,Keras,我正在使用这个示例,但对如何制作单独的解码器模型感到困惑 from keras.layers import Input, LSTM, RepeatVector from keras.models import Model inputs = Input(shape=(timesteps, input_dim)) encoded = LSTM(latent_dim)(inputs) decoded = RepeatVector(timesteps)(encoded) decoded = LSTM
from keras.layers import Input, LSTM, RepeatVector
from keras.models import Model
inputs = Input(shape=(timesteps, input_dim))
encoded = LSTM(latent_dim)(inputs)
decoded = RepeatVector(timesteps)(encoded)
decoded = LSTM(input_dim, return_sequences=True)(decoded)
sequence_autoencoder = Model(inputs, decoded)
encoder = Model(inputs, encoded)
我知道如何制作编码器,但我们如何制作单独的解码器?我可以定义所有的层,分别制作编码器和解码器,但是有没有一种更简单的方法可以像我们使用编码器模型那样实现呢 创建编码器:
inputs = Input(shape=(timesteps, input_dim))
encoded = LSTM(latent_dim)(inputs)
encoder = Model(inputs, encoded)
创建解码器:
decInput = Input((the shape of the encoder's output))
decoded = RepeatVector(timesteps)(decInput)
decoded = LSTM(input_dim, return_sequences=True)(decoded)
decoder = Model(decInput,decoded)
加入模型:
joinedInput = Input(shape=(timesteps, input_dim))
encoderOut = encoder(joinedInput)
joinedOut = decoder(encoderOut)
sequence_autoencoder = Model(joinedInput,joinedOut)
您可以尝试:
decoder=Model(encoder.output,decoded)
(从未尝试过此方法,但我将添加一个我知道有效的答案)