Как объединить ввод, который не go через слои - PullRequest
1 голос
/ 28 февраля 2020

Я пытаюсь создать модель Keras с тремя входами. Только один из них проходит через первые несколько слоев, а два других соединяются в плотный слой. Как бы я достиг этого, не отключая график? Код показан ниже

import keras
input_img = Input(shape=(784,))
input_1 = Input(shape=(1,))
input_2 = Input(shape=(1,))

x = (Dense(48,kernel_initializer='normal',activation="relu"))(input_img)
x = (Dropout(0.2))(x)
x = (Dense(24,activation="tanh"))(x)
x = (Dropout(0.3))(x)
x = (Dense(1))(x)
x = keras.layers.concatenate([x, input_1, input_2])
x = (Activation("sigmoid"))(x)
x = Model(input_img, x)
x.compile(loss="binary_crossentropy", optimizer='adam')

Чтобы дать более общее представление о том, что я пытаюсь сделать, я по сути пытаюсь создать сверточную нейронную сеть с дополнительными функциями, добавленными в плотный слой для классификации.

1 Ответ

0 голосов
/ 28 февраля 2020

Поскольку ваша модель имеет три входа, то есть input_img, input_1 and input_2, вам нужно передать список этих трех входов при определении модели следующим образом:

x = Model([input_img, input_1, input_2], x)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...