与Keras合并两层

时间:2019-02-15 13:05:16

标签: tensorflow keras

我想使用串联将Keras与两层合并。我正在使用tensorflow 1.12内置的keras函数。运行以下代码时,出现错误:

  

ValueError:应在2个输入的列表上调用Dot层。

branch1 = Sequential()
branch1.add(Dense(10))

branch2 = Sequential()
branch2.add(Dense(10))


model = Sequential()
dot_product = dot([branch1, branch2], axes=1)

1 个答案:

答案 0 :(得分:3)

问题是您要将两个模型传递给点层,而不是两个张量。您可以改用功能性API定义具有两个输入的模型,然后取点积:

input_1 = Input(input_shape)
input_2 = Input(input_shape)

branch_1 = Dense(10)(input_1)
branch_2 = Dense(10)(input_2)

dot_product = Dot(axes=1)([branch_1, branch_2])

model = keras.models.Model(inputs=[input_1, input_2], outputs=dot_product)