使用LSTM自动编码器时输入向量的形状

时间:2019-02-27 16:28:08

标签: keras sequence lstm autoencoder

我想对多元时间序列数据使用LSTM自动编码器。我有一个长度序列(300000000,4)。我对如何重塑数据感到非常困惑。如果我将其重塑为(1,300000000,4),那么我将遇到内存问题,因为时间步长不能太大。当我将其重塑为(300000000,1,4)时,我的程序运行正常。但是,我不确定LSTM自动编码器是否仍像RNN一样,是否在序列中找到模式。我有9个这样的序列,我希望我的自动编码器学习所有模式。我是机器学习和序列学习的新手,请提供相同的帮助。我正在附上我的LSTM自动编码器代码。

def repeat_vector(args):

[layer_to_repeat, sequence_layer] = args

return RepeatVector(K.shape(sequence_layer)[1])(layer_to_repeat)

encoder_input = Input(shape=(None, self._input_features))

encoder_output = LSTM(self._latent_space)(encoder_input)

decoder_input = Lambda(repeat_vector, output_shape=(None,   self._latent_space))([encoder_output, encoder_input])

decoder_output = LSTM(self._input_cells, return_sequences=True)(decoder_input)

self._autoencoder = Model(encoder_input, decoder_output) `

0 个答案:

没有答案