阅读(12.1k) 书签 (0)

TensorFlow函数:tf.stop_gradient

2018-03-19 10:48 更新

tf.stop_gradient函数

tf.stop_gradient(
    input,
    name=None
)

请参阅指南:Training>梯度计算

停止梯度计算.

在图形中执行时,此操作按原样输出其输入张量.

在构建计算梯度的操作时,这个操作会阻止将其输入的贡献考虑在内.通常情况下,梯度生成器将操作添加到图形中,通过递归地查找有助于其计算的输入来计算指定“损失”的导数.如果在图形中插入此操作,则它的输入将从梯度生成器中屏蔽.计算梯度时不考虑它们.

当你想用 TensorFlow 计算一个值时,这是很有用的,但是需要假设这个值是一个常量.一些例子包括:

  • 该 EM 算法,其中 M-step 不应该通过输出涉及反向 E-step.
  • 波尔兹曼(Boltzmann)机器的对比分歧 training,当区分能量函数时,training 不能通过反向传播(backpropagate)从模型中生成样本的图表.
  • 对抗性的 training,其中不应通过反例生成过程发生 backprop.

函数参数:

  • input:A Tensor.
  • name:操作的名称(可选).

函数返回值:

一Tensor.与.类型相同input.