我一直在尝试合并以下顺序模型,但未能成功。谁能指出我的错误,谢谢。
该代码在使用“merge”时编译但给出以下错误“TypeError:’module’对象不可调用”但是它在使用“Merge”时甚至不编译
我正在使用 keras 版本 2.2.0 和 python 3.6
from keras.layers import merge
def linear_model_combined(optimizer='Adadelta'):
modela = Sequential()
modela.add(Flatten(input_shape=(100, 34)))
modela.add(Dense(1024))
modela.add(Activation('relu'))
modela.add(Dense(512))
modelb = Sequential()
modelb.add(Flatten(input_shape=(100, 34)))
modelb.add(Dense(1024))
modelb.add(Activation('relu'))
modelb.add(Dense(512))
model_combined = Sequential()
model_combined.add(Merge([modela, modelb], mode='concat'))
model_combined.add(Activation('relu'))
model_combined.add(Dense(256))
model_combined.add(Activation('relu'))
model_combined.add(Dense(4))
model_combined.add(Activation('softmax'))
model_combined.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
return model_combined
原文由 Raj Dayal 发布,翻译遵循 CC BY-SA 4.0 许可协议
合并不能与顺序模型一起使用。在顺序模型中,层只能有一个输入和一个输出。您必须使用 函数式 API ,就像这样。我假设您对 modela 和 modelb 使用相同的输入层,但如果不是这样,您可以创建另一个 Input() 并将它们都作为模型的输入。