Я - новичок в KERAS, и я решил построить свою собственную сеть автоэнкодеров.
У меня есть некоторые данные с измерением (10 006, 45), и я пытаюсь приспособить это к следующей модели:
training_set = get_training_set()
inputs = Input(shape=(training_set.shape[0], training_set.shape[1]))
l1 = LSTM(64, activation="relu", return_sequences="True")(inputs)
l2 = LSTM(32, activation="relu", return_sequences="True")(l1)
l3 = LSTM(16, activation="relu", return_sequences="False")(l2)
l4 = RepeatVector(45)(l3)
l5 = LSTM(16, activation="relu", return_sequences="True")(l4)
l6 = LSTM(32, activation="relu", return_sequences="True")(l5)
l7 = LSTM(64, activation="relu", return_sequences="True")(l6)
output = TimeDistributed(Dense(input_shape=(training_set.shape[0],training_set.shape[1])))[l7]
return Model(output, inputs)
К сожалению, когда я пытаюсь построить эту модель. На линии с l4 (не в первом LSTM) я получаю следующую ошибку: ValueError: Вход 0 несовместим со слоем repeat_vector_1: ожидаемый ndim = 2, найденный ndim = 3
Не могли бы выдай мне какую-нибудь подсказку? Я думал, что здесь я должен иметь (num_of_timesteps, num_of_features), но, похоже, это неправильно, что должно быть здесь тогда? Есть ли у вас какие-либо предложения о том, как преобразовать мои данные?
Заранее спасибо,