【问题标题】:keras: using the output of one model as part of the inputs of another modelkeras:使用一个模型的输出作为另一个模型的输入的一部分
【发布时间】:2020-04-20 12:23:44
【问题描述】:

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

现在我想训练另一个自动编码器(自动编码器 2)。这个新的自动编码器在瓶颈中有 6 个节点。我想使用encoder1来创建autoencoder2的3个输入节点,另一方面是decoder 1,像这样:

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

现在,如果只是将它们与 1 个输入和输出连接在一起,我会知道该怎么做:

autoencoder2 = Model(inputs=input, ouptuts=d1(d2(e2(e1(input)))))

但由于有两个输入,我不知道该怎么做。我浏览了功能性 api 文档,但找不到我需要的东西。 有什么想法吗?

【问题讨论】:

    标签: tensorflow keras deep-learning autoencoder


    【解决方案1】:

    尝试使用元组:

    model = Model(inputs=(e1, e2), outputs=(o1, o2))
    

    唯一的要求是你的转发函数应该接受和处理元组。

    【讨论】:

    • 泰! “前向功能”是什么意思?
    • 在 Keras 中是 call() 方法,forward 是 PyTorch 方法。这是您在自己创建新层或模型时实现的一种方法。
    猜你喜欢
    • 2018-05-20
    • 2020-03-21
    • 2018-11-22
    • 1970-01-01
    • 2019-03-03
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多