首页 > 解决方案 > 如何连接不通过层的输入

问题描述

我正在尝试创建一个具有三个输入的 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')

为了更全面地概述我正在尝试的内容,我实际上是在尝试创建一个卷积神经网络,并将附加特征添加到密集层以进行分类。

标签: tensorflowkeras

解决方案


由于您的模型具有三个输入,即input_img, input_1 and input_2您需要在定义模型时传递这三个输入的列表,如下所示:

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

希望这可以帮助。


推荐阅读