gpt4 book ai didi

tensorflow - 在优化器期间保持变量不变

转载 作者:行者123 更新时间:2023-12-03 06:43:07 24 4
gpt4 key购买 nike

我有一个损失张量 L 的 TensorFlow 计算图,它取决于 2 个 tf.Variables、A 和 B。

我想在保持 B 固定的同时在变量 A 上运行梯度上升(A+=L 相对于 A 的梯度),反之亦然 - 在保持 A 固定的同时在 B 上运行梯度上升(B+=L 相对于 B 的梯度) 。我该怎么做?

最佳答案

tf.stop_gradient(tensor) 可能就是您正在寻找的。出于梯度计算目的,张量将被视为常数。您可以创建两个损失,并将不同部分视为常量。

另一种选择(通常更好)是创建 2 个优化器,但仅显式优化变量子集,例如

train_a = tf.train.GradientDescentOptimizer(0.1).minimize(loss_a, var_list=[A])
train_b = tf.train.GradientDescentOptimizer(0.1).minimize(loss_b, var_list=[B])

您可以在更新时在它们之间进行迭代。

关于tensorflow - 在优化器期间保持变量不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34477889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com