【问题标题】:Pytorch, backprop and composite modelsPytorch、反向传播和复合模型
【发布时间】:2020-01-16 23:59:49
【问题描述】:

只是快速检查一下我的问题。

我想构建一个模型,该模型基于 FG 这样的两个模型生成其输出。

y = G(F(x))

其中 x 当然是输入,y 是输出。

但是,首先我想更新F(x) 的权重,然后根据y 的值更新FG 的权重。

我知道 pytorch 提供了一种方法来指定您自己的 backprop 方法。但由于我的“方法”似乎是由基本组件构建的,难道我可以使用标准解决方案来做到这一点吗?

我的想法是,FG 对象需要单独的优化器/损失。但除此之外,还有一些针对复合模型G(F()) 的更新功能。也有人能证实这一点吗?

【问题讨论】:

    标签: pytorch


    【解决方案1】:

    如果按照您的建议,FG 的优化器和损失可以分开,那么我认为没有必要实现任何不同的更新功能,因为您可以指定参数集每个优化器,例如

    optimizer_F = optim.SGD(F.parameters(),...)
    optimizer_G = optim.SGD(G.parameters(),...)
    

    那么当你调用optimizer_F.step()时,它只会更新F的参数,同样optimizer_G.step()只会更新G的参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-20
      • 2020-09-10
      • 1970-01-01
      • 2019-07-24
      • 2022-06-15
      • 2020-05-06
      • 1970-01-01
      • 2021-06-30
      相关资源
      最近更新 更多