我正在尝试合并两个网络。我可以通过以下操作来完成这一任务:
merged = Merge([CNN_Model, RNN_Model], mode='concat')但我收到一个警告:
merged = Merge([CNN_Model, RNN_Model], mode='concat')
__main__:1: 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.所以我试了一下:
merged = Concatenate([CNN_Model, RNN_Model])
model = Sequential()
model.add(merged)并得到了以下错误:
ValueError: The first layer in a Sequential model must get an `input_shape` or `batch_input_shape` argument.有人能给我语法作为我如何使它工作吗?
发布于 2017-06-23 01:59:19
不要对有分支的模型使用顺序模型。
使用函数式API:
from keras.models import Model 您使用Concatenate层是正确的,但是您必须将“张量”传递给它。首先创建它,然后用输入张量调用它(这就是为什么有两个括号):
concatOut = Concatenate()([CNN_Model.output,RNN_Model.output])为了创建一个模型,您需要定义从输入到输出的路径:
model = Model([CNN_Model.input, RNN_Model.input], concatOut)这个答案假设您现有的模型只有一个输入和输出。
https://stackoverflow.com/questions/44710080
复制相似问题