tensorflow中的所有优化器(sgd,adam等)都有这两个函数。
一、computer_gradients
compute_gradients(
loss,
var_list=None,
gate_gradients=GATE_OP,
aggregation_method=None,
colocate_gradients_with_ops=False,
grad_loss=None
)
功能:计算loss中可训练的var_list中的梯度。
参数:loss,vars
返回值:返回(gradient, variable)对的列表。
二、apply_gradients
apply_gradients(
grads_and_vars,
global_step=None,
name=None
)
功能:更新参数。
参数:grads_and_vars,(gradient, variable) 对的列表
返回值:.无返回值,把计算出来的梯度更新到变量上去。
三、tf.GradientTape的函数gradient
gradient(target,sources,output_gradients=None,unconnected_gradients=tf.UnconnectedGradients.NONE)
作用:根据tape上面的上下文来计算某个或者某些tensor的梯度
参数:
target: 被微分的Tensor或者Tensor列表,你可以理解为经过某个函数之后的值
sources: Tensors 或者Variables列表(当然可以只有一个值). 你可以理解为函数的某个变量
output_gradients: a list of gradients, one for each element of target. Defaults to Non

本文详细介绍了TensorFlow中优化器的核心函数compute_gradients和apply_gradients的功能及使用方法,并通过实例展示了如何利用tf.GradientTape进行梯度计算及参数更新。
最低0.47元/天 解锁文章
2万+





