我想使用串联将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)
答案 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)