0

我试图将 ResNet 中隐藏层的输出与另一个模型的输入连接起来,但出现以下错误:

ValueError:模型的输出张量必须是 Keras 的输出Layer(因此保存过去的层元数据)

我正在使用来自 Keras 的 Concatenate 层,如如何在 keras 中连接两层?,但是它没有用。我可能会错过什么?我是否也必须添加一个致密层?这个想法是在第二个输入与第一个输入连接之前不要更改第二个输入(合并的输入将是第三个模型的输入)。

resnet_features = resnet.get_layer('avg_pool').output
model2_features = Input(shape=(None, 32))
all_features = Concatenate([resnet_features, model2_features])

mixer = Model(inputs=[resnet.input, model2_features], 
                             outputs=all_features)
4

1 回答 1

2

看起来您在连接层缺少两个括号。它应该如下所示:

all_features = Concatenate()([resnet_features, model2_features])

此外,您必须确保 和 的形状resnet_features除了model2_features连接轴之外是相同的,否则您将无法连接它们。

于 2019-02-14T07:30:24.143 回答