У меня есть следующая LSTM
сеть, реализованная с помощью Keras
функционального API.
input = Input(shape=(None, 2), name="input_layer")
lstm_layer = LSTM(50, return_sequences=False, name="Long_Short_Memory_layer")(input)
dense_layer1 = Dense(2, name="Intm_output_layer")(lstm_layer)
feature1_input = Input(shape=(1,), name="feature1_input_layer")
hybrid_model = concatenate([dense_layer1, feature1_input], name="Seq_non-seq_concat_layer")
hidden1 = Dense(10, activation = 'relu',name="Hidden1_layer")(hybrid_model)
hidden2 = Dense(10, activation='relu', name="Hidden2_layer")(hidden1)
final_output = Dense(2, activation='sigmoid', name="Final_output_layer")(hidden2)
Я передаю данные в эту сеть через генератор.Я сделал входную форму входного лейера None, потому что размеры шагов меняются в каждой партии.(мой размер партии 1).У меня есть последовательный ввод данных и непоследовательный ввод данных.Ниже приведена моя сетевая архитектура Архитектура
Ниже приведены мои размеры данных.
X feature_1 Y
(1,1,2) (1,1,1) (1,1,2)
(1,5,2) (1,5,1) (1,1,2)
При обучении модели возникает ошибка из-за несоответствия формы наFinal output layer
.
ValueError: Error when checking target: expected Final_output_layer to have 2 dimensions,
but got array with shape (1, 1, 2)
Я попытался изменить размер Y на (1,2), тогда он выдает ошибку
ValueError: All input arrays (x) should have the same number of samples.
Got array shapes: [(1, 2, 2), (2, 1)]
Что такое проблема в моей сети и как я могу ее решить.Ценю ваше понимание.