Я работаю над прогнозом регрессии, где у меня есть несколько сложных трехмерных последовательностей и некоторые функции, объясняющие некоторые ключевые характеристики последовательностей. Они проводятся на двух матрицах таких форм:
X1.shape, X2.shape
((9000, 300, 3), (9000, 106))
Я хочу передать их экземпляру модели, где матрица X1 обрабатывается LSTM, а матрица X2 парой плотных слоев. Мой план - объединить их перед выходным слоем.
Я планировал тренироваться по:
model.fit(zip(X1, X2), y, batch_size=BATCH, epochs=EPOCHS, validation_split=0.2)
Как построить модель, чтобы получить две матрицы и раздать их отдельно?
На данный момент у меня есть только стандартная модель для LSTM:
def model(sample_size=300, axis=3):
inp=Input(shape=(sample_size, axis))
x=LSTM(50, return_sequences=True)(inp)
x=GlobalMaxPool1D(x)
x=Dense(1)(x)
model=Model(inputs=inp, ouputs=x)
model.compile(loss='mean_squared_error', optimizer='adam',
metrics= ['mae'])
return model