keras:将一个模型的输出作为另一个模型的部分输入。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keras:将一个模型的输出作为另一个模型的部分输入。相关的知识,希望对你有一定的参考价值。
假设我训练了一个自动编码器(它给了我编码器1,解码器1和自动编码器1,它是编码器1和解码器1的oncatination),这个自动编码器在瓶颈处有3个潜伏节点。
现在我想训练另一个自动编码器(自动编码器2),这个新的自动编码器在瓶颈中有6个节点。我想用encoder1来创建autoencoder2的3个输入节点,另一方面用解码器1来创建,就像这样。
如你所见,有2个输入和2个输出,每个都有自己的损耗。 e1和d1已经建立,我想建立自动编码器2,包含所有: e1,e2,d1,d2。
现在,如果只是把它们用1个输入和输出连接起来,我就知道怎么做了。
autoencoder2 = Model(inputs=input, ouptuts=d1(d2(e2(e1(input)))))
但由于有两个输入,我不知道该怎么做。我查看了功能API文档,但没有找到我需要的东西。
答案
尝试使用Tuples。
model = Model(inputs=(e1, e2), outputs=(o1, o2))
唯一的要求是你的转发函数应该接受和处理元组.
以上是关于keras:将一个模型的输出作为另一个模型的部分输入。的主要内容,如果未能解决你的问题,请参考以下文章
Python实现构建gan模型, 输入一个矩阵和两个参数值,输出一个矩阵
Keras,Tensorflow:将两个不同的模型输出合并为一个