繁体   English   中英

Keras由两个神经网络模型组成的神经网络模型

[英]Keras composed neural network model from two neural network models

我在Tensorflow中使用Keras来实现我的模型(M)。 假设我具有以下输入特征F = {x,y,a1,a2,a3,...,an}我想仅使用x和y建立深层模型(M1)。 然后,具有所有其余特征(a1,a2,...,an)的(M1)的输出将是另一个模型(M2)的输入。

x,y-> M1-> z,a1,a2,...,an-> M2->最终输出

我如何在Keras中建立这样的模型?

使用Keras功能性api

对我来说,这还不是很清楚,您是要拥有仅在第一个模型的输出上进行训练的第二个模型,还是可以使两个模型一起进行训练的东西。

如果要分别训练M1和M2,则假设x, y, a是输入ndarray ,则可以执行以下操作:

input_x = Input(shape=...)
input_y = Input(shape=...)

...

M1 = ... # your first model
m1_output = M1.output # assuming M1 outputs only one tensor

m2_input = Input(batch_shape=m1_output.shape) # the part that you can feed outputs from M1
m2_output = ...

M2 = Model(inputs=[m2_input,a], outputs=[m2_output])

您还可以同时训练两个部分,然后在Functional API的文档中也进行了介绍 您需要像这样定义M2:

M2 = Model(inputs=M1.inputs + [a], outputs=M1.outputs + [m2_output])

当然,您必须相应地计算出损失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM