Я пытаюсь построить модель LSTM с двумя входами, используя функциональный API Keras.
Вот код, который я использовал:
inp_1 = 100
inp_2 = 100
out_1 = 10
N_FEATURES = 1
Input_1 = Input(shape=(inp_1, N_FEATURES), name='Input_1')
LSTM_1 = LSTM(name='LSTM_1', units=128)(Input_1)
Dense_1 = Dense(name='Dense_1', units=128)(LSTM_1)
Input_2 = Input(shape=(inp_2,), name='Input_2')
Dense_2 = Dense(name='Dense_2', units=128)(Input_2)
merge_2 = concatenate([Dense_1, Dense_2])
RepeatVector_1 = RepeatVector(out_1, name='RepeatVector_1')(merge_2)
LSTM_2 = LSTM(name='LSTM_2', units=128)(RepeatVector_1)
output = TimeDistributed(Dense(1,activation='linear'))(LSTM_2)
model = Model(inputs=[Input_1, Input_2], output= output)
model.compile()
Однако я получил следующую ошибку, которую я не понимаю:
assert len (input_shape)> = 3 AssertionError
для строки:
output = TimeDistributed(Dense(1,activation='linear'))(LSTM_2)
Слой уже принимает тензор длины 128. Чего мне здесь не хватает?