假设我训练了一个自动编码器(它给了我编码器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))
唯一的要求是你的转发函数应该接受和处理元组.