【发布时间】:2020-07-29 01:54:41
【问题描述】:
我想知道如何在 PyTorch 中为以下数学运算采取梯度步骤(A、B 和 C 是 PyTorch 模块,其参数不重叠)
这与生成对抗网络 (GAN) 的成本函数有些不同,因此我不能使用现成的 GAN 示例,并且在尝试调整它们以适应上述成本时遇到了困难。
我想到的一种方法是构造两个优化器。优化器opt1有模块A和B的参数,优化器opt2有模块C的参数。那么可以:
- 采取措施最小化 C 的成本函数
- 再次使用相同的输入运行网络以再次获得成本(和中间输出)
- 相对于 A 和 B 迈出一步。
我确信他们必须是使用 PyTorch 执行此操作的更好方法(可能使用一些 detach 操作),可能无需再次运行网络。任何帮助表示赞赏。
【问题讨论】:
标签: pytorch