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.