在Keras Functional API中合并两个模型

一个男子

我正在使用广泛而深入的模型,并试图用keras实现一些基本的东西。我能够使用功能性角膜生成一个简单的模型和一个深层的nn。但是,我在将两者结合在一起时遇到了一些问题。

###############################################################################
###############################################################################

inputs = Input(shape = (X_train.shape[1],))
output = Dense(1, activation='linear')(inputs)
wide = Model(inputs, output)

wide.compile(
        optimizer = 'adam',
        loss = 'mean_squared_error',
        metrics = ['accuracy']
)

wide.fit(x = X_train, y = Y_train, epochs = 10, verbose = 1)

###############################################################################
###############################################################################

inputs = Input(shape = (X_train.shape[1],))
x = Dense(200, kernel_initializer = 'uniform', 
               activation = 'relu')(inputs)
x = Dense(100, activation = 'relu')(x)
x = Dense(50, activation = 'relu')(x)
output = Dense(1, activation='sigmoid')(x)
deep = Model(inputs, output)

deep.compile(
        optimizer = 'adam',
        loss = 'mean_squared_error',
        metrics = ['accuracy']
)

deep.fit(x = X_train, y = Y_train, epochs = 10, verbose = 1)

###############################################################################
###############################################################################

merge = Concatenate([wide, deep])
    hidden1 = Dense(10, activation='relu')(merge)
    output = Dense(1, activation='sigmoid')(hidden1)
    model = Model(inputs=visible, outputs=output) 

如何将两个模型串联起来?

我收到此错误:

ValueError: Layer dense_36 was called with an input that isn't a symbolic tensor. Received type: <class 'keras.layers.merge.Concatenate'>. Full input: [<keras.layers.merge.Concatenate object at 0x1a1adda588>]. All inputs to the layer should be tensors.
丹尼尔·莫勒

一个Concatenate层工程完全按照别人。

  • 第一个括号中的图层参数(图层创建)
  • 第二个括号中的输入张量(调用该层以获取输出)
  • 输入必须是张量,而不是模型

所以:

merge = Concatenate()([wide.outputs,deep.outputs])

合并的模型必须从头两个输入开始:

model = Model(inputs=[wide.inputs,deep.inputs], outputs=output)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Keras Functional API的语法

使用Keras Functional API调整模型

如何使用Functional API训练Keras模型,该API具有两个输入和两个输出,并使用两个ImageDataGenerator方法(flow_from_directory)

Keras Functional API中的高级激活层

预测中的错误-Keras Functional API

输入以Functional API编写的keras RNN

如何在Keras Tensoflow中合并两个模型以创建一个模型

如何使用Functional API模型实施CNN并解决keras层中的“ _keras_shape”错误

使用 Keras Functional API 为 Tensorflow LITE 构建模型

如何合并两个保存的keras模型?

如何使用Keras合并或连接两个顺序模型?

Keras Functional API更改每个API中的图层名称

是否可以在没有输入层的情况下在 Keras Functional API 中创建模型?

使用Tensorflow 2的Keras Functional API时传递`training = true`

在Keras中通过卷积合并两个张量

如何在Keras中合并两个LSTM层

如何在keras中连接两个模型?

如何在Keras中连接两个LSTM模型

在Keras中使用Functional API检查模型输入时出现错误

尝试使用Keras Functional API构建CNN模型时图形断开连接

Tensorflow Keras:将两个不同的模型输出合并为一个

Keras Functional API:LTSM 返回一个二维数组

在Keras中合并2个顺序模型

如何将两个keras模型连接到一个模型中?

为什么我在简单的Keras Functional API中收到输入错误?

如何仅将样本拟合到多个输出中的一些 Keras Functional API

将Keras Functional API与fit_generator一起使用时的输入形状错误

Keras中一个模型的两个输入

在keras中添加两个张量