Tensorflow keras:使用一个模型的输出作为另一个模型输入的一部分

Tensorflow keras:使用一个模型的输出作为另一个模型输入的一部分,tensorflow,keras,deep-learning,autoencoder,Tensorflow,Keras,Deep Learning,Autoencoder,假设我训练了一个自动编码器(它给了我encoder1、decoder1和autoencoder1,这是encoder1和decoder1的集合)。该自动编码器在瓶颈中有3个潜在节点 现在我想训练另一个自动编码器(自动编码器2)。这个新的自动编码器在瓶颈中有6个节点。我想使用编码器1创建autoencoder2的3个输入节点,另一方面创建解码器1,如下所示: 如您所见,有两个输入和两个输出,每个都有自己的损耗。e1和d1是构建的,我想构建自动编码器2,它包含所有:e1、e2、d1、d2 现在,如

假设我训练了一个自动编码器(它给了我encoder1、decoder1和autoencoder1,这是encoder1和decoder1的集合)。该自动编码器在瓶颈中有3个潜在节点

现在我想训练另一个自动编码器(自动编码器2)。这个新的自动编码器在瓶颈中有6个节点。我想使用编码器1创建autoencoder2的3个输入节点,另一方面创建解码器1,如下所示:

如您所见,有两个输入和两个输出,每个都有自己的损耗。e1和d1是构建的,我想构建自动编码器2,它包含所有:e1、e2、d1、d2

现在,如果只是将它们与1个输入和输出连接在一起,我就会知道如何操作:

autoencoder2 = Model(inputs=input, ouptuts=d1(d2(e2(e1(input)))))
但是因为有两个输入,我不知道该怎么做。我浏览了函数式api文档,但找不到需要的内容。 有什么想法吗?

尝试使用元组:

model = Model(inputs=(e1, e2), outputs=(o1, o2))
唯一的要求是应该接受和处理元组的转发函数。

尝试使用元组:

model = Model(inputs=(e1, e2), outputs=(o1, o2))
唯一的要求是在forward函数中,它应该接受并处理元组。

ty!“转发函数”是什么意思?在Keras中,它是
call()
方法,
forward
是PyTorch方法。这是您在自己创建新图层或模型时实现的方法。ty!“转发函数”是什么意思?在Keras中,它是
call()
方法,
forward
是PyTorch方法。这是您在自己创建新图层或模型时实现的方法。