Keras Repeat векторное измерение неверно - PullRequest
0 голосов
/ 01 ноября 2019

Я - новичок в 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), но, похоже, это неправильно, что должно быть здесь тогда? Есть ли у вас какие-либо предложения о том, как преобразовать мои данные?

Заранее спасибо,

...