tf.stop_gradient

2022-09-04 20:57:26 浏览数 (1)

停止梯度计算。当在一个图中执行时,这个op按原样输出它的输入张量。当构建ops来计算梯度时,该op会阻止将其输入的贡献考虑在内。通常情况下,梯度发生器通过递归找出对其计算有贡献的输入,将ops添加到图中,计算指定“损失”的导数。如果将这个op插入到图中,它的输入将被梯度生成器屏蔽。它们没有考虑到计算梯度。当你想用TensorFlow计算一个值,但需要假设该值是常量时,这是非常有用的。一些例子包括:

  • EM算法中m步不应该包含通过e步输出的反向传播。
  • 玻尔兹曼机的对比发散训练,当对能量函数进行微分时,训练不能通过从模型中生成样本的图进行反向传播。
  • 对抗性训练,在对抗性示例生成过程中不应该有任何支持。

参数:

  • input: 一个张量。
  • name: 操作的名称(可选)。

返回值:

  • 一个张量。具有与输入相同的类型。

原链接: https://tensorflow.google.cn/versions/r1.11/api_docs/python/tf/stop_gradient?hl=en

0 人点赞