Я пытаюсь объединить 2 последовательные модели в keras. Вот код:
model1 = Sequential(layers=[
# input layers and convolutional layers
Conv1D(128, kernel_size=12, strides=4, padding='valid', activation='relu', input_shape=input_shape),
MaxPooling1D(pool_size=6),
Conv1D(256, kernel_size=12, strides=4, padding='valid', activation='relu'),
MaxPooling1D(pool_size=6),
Dropout(.5),
])
model2 = Sequential(layers=[
# input layers and convolutional layers
Conv1D(128, kernel_size=20, strides=5, padding='valid', activation='relu', input_shape=input_shape),
MaxPooling1D(pool_size=5),
Conv1D(256, kernel_size=20, strides=5, padding='valid', activation='relu'),
MaxPooling1D(pool_size=5),
Dropout(.5),
])
model = merge([model1, model2], mode = 'sum')
Flatten(),
Dense(256, activation='relu'),
Dropout(.5),
Dense(128, activation='relu'),
Dropout(.35),
# output layer
Dense(5, activation='softmax')
return model
Вот журнал ошибок:
Файл "/nics/d/home/dsawant/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py", строка 392, в is_keras_tensor raise ValueError ( "Неожиданно нашел экземпляр типа
' + str(type(x)) + '
". ValueError: Неожиданно найден экземпляр введите<class 'keras.models.Sequential'>
. Ожидаемый символический тензор экземпляр.
Еще несколько журналов:
ValueError: Layer merge_1 вызывается с входом, который не является символический тензор. Полученный тип: класс 'keras.models.Sequential'. Полный ввод: [keras.models.Sequential object на 0x2b32d518a780, keras.models.Sequential на 0x2b32d521ee80]. Все входные данные для слой должен быть тензором.
Как я могу объединить эти 2 последовательные модели, которые используют разные размеры окон и применяют к ним такие функции, как "max", "sum" и т.д.