首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras由两个神经网络模型组成的神经网络模型

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

Stack Overflow用户
提问于 2018-03-29 01:05:22
回答 1查看 93关注 0票数 0

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-03-29 01:42:41

使用Keras functional api

我并不完全清楚,你的意思是让第二个模型只根据第一个模型的输出进行训练,还是可以让两个模型联合训练。

如果你的意思是让M1和M2分开训练,那么假设x, y, a是你的输入ndarray,你可以这样做:

代码语言:javascript
复制
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])

你也可以同时训练这两个部分,然后it's also covered in Functional API's documentation。您需要像这样定义M2:

代码语言:javascript
复制
M2 = Model(inputs=M1.inputs + [a], outputs=M1.outputs + [m2_output])

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49540365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档