如何在keras中使用Concatenate层?

时间:2017-12-12 09:45:11

标签: tensorflow keras keras-layer

我的代码是这样的:

balabala...
conv_model.add(keras.layers.Flatten())

input2 = keras.models.Sequential()
input2.add(keras.layers.Activation('linear', input_shape=(1,)))

model = keras.models.Sequential()
model.add(keras.layers.Merge([conv_model, input2], mode='concat'))
balabala.....

当我运行此代码时,它会说:

UserWarning: The `Merge` layer is deprecated and will be removed after 
08/2017. Use instead layers from `keras.layers.merge`, e.g. `add`, 
`concatenate`, etc.

我试图在很多方面使用'keras.layers.Concatenate',如:

model.add(keras.layers.Concatenate([conv_model, angle]))

但它说:

The first layer in a Sequential model must get an `input_shape` or 
`batch_input_shape` argument

有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

顺序模型不适用于分支机构。

您需要一个功能API模型。

input2 = Input((1,))
out2 = Activation('linear')(input2) 

concatenated = Concatenate(axis=chooseOne)([conv_model.output,out2])

model = Model([conv_model.input,input2], concatenated)

PS:图层Activation('linear')在任何模型中都没有任何作用。