阅读(4412)
赞(14)
TensorFlow函数:tf.RegisterGradient
2017-12-19 10:49:15 更新
tf.RegisterGradient 函数
RegisterGradient 类
定义在:tensorflow/python/framework/ops.py.
请参阅指南:构建图>定义新操作
用于注册 op 类型的渐变函数的修饰符.
这个修饰符只在定义一个新的 op 类型时使用.对于具有 m 个输入和 n 个输出的运算,梯度函数是一个采用原始的 Operation 和 n Tensor 对象(表示与 op 的每个输出相关的梯度),并返回 m Tensor 对象(表示相对于 op 的每个输入的部分梯度)的函数.
例如,假设该类型的"Sub"操作需要两个输入 x 和 y,并返回一个单一的输出 x - y,则以下梯度函数将被注册:
@tf.RegisterGradient("Sub")
def _sub_grad(unused_op, grad):
return grad, tf.negative(grad)
修饰符参数 op_type 是操作的字符串类型.这对应于定义操作的原始 OpDef. name 字段.
方法
__init__
__init__(op_type)
该方法使用op_type作为Operation类型创建一个新的修饰符.
参数:
- op_type:操作的字符串类型.这对应于定义操作的原始 OpDef. name 字段.
__call__
鬼斧神工
__call__(f)
该方法可以将函数 f 注册为 op_type 的梯度函数.