当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.optimizers.Optimizer.apply_gradients用法及代码示例


用法

apply_gradients(
    grads_and_vars, name=None, experimental_aggregate_gradients=True
)

参数

  • grads_and_vars (梯度,变量)对的列表。
  • name 返回操作的可选名称。默认为传递给Optimizer 构造函数的名称。
  • experimental_aggregate_gradients 是否在存在 tf.distribute.Strategy 的情况下对来自不同副本的梯度求和。如果为 False,则聚合梯度是用户的责任。默认为真。

返回

  • 应用指定渐变的Operationiterations 将自动增加 1。

抛出

  • TypeError 如果grads_and_vars 格式错误。
  • ValueError 如果没有一个变量有梯度。
  • RuntimeError 如果在 cross-replica 上下文中调用。

将渐变应用于变量。

这是 minimize() 的第二部分。它返回一个应用渐变的Operation

默认情况下,该方法在 tf.distribute.Strategy 存在的情况下对所有副本的梯度求和。您可以通过传递 experimental_aggregate_gradients=False 自己聚合渐变。

例子:

grads = tape.gradient(loss, vars)
grads = tf.distribute.get_replica_context().all_reduce('sum', grads)
# Processing aggregated gradients.
optimizer.apply_gradients(zip(grads, vars),
    experimental_aggregate_gradients=False)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.optimizers.Optimizer.apply_gradients。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。