TensorFlow梯度计算:tf.gradients

2018-10-24 17:49 更新
函数:tf.gradients
gradients(
    ys,
    xs,
    grad_ys=None,
    name='gradients',
    colocate_gradients_with_ops=False,
    gate_gradients=False,
    aggregation_method=None
)

定义在:tensorflow/python/ops/gradients_impl.py.

参见指南:Training函数>梯度计算

在 xs 中构造了 ys 的 w.r.t. x 和的符号偏导数.
ys 和 xs 是一个张量或一个张量的列表.grad_ys 是一个张量列表,持有由 ys 接收的梯度.该列表必须与 ys 具有相同长度.

gradients() 向图形添加操作以输出 ys 相对于的偏导数 xs.它返回长度为 len (xs) 的张量列表,其中每个张量 ys 中 y 的 sum(dy/dx).

grad_ys 是与 ys 相同长度的张量列表,它包含 y 的初始梯度.当 grad_ys 是 None 时,我们在 ys 中为每个 y 填入一个1的形状的张量.用户可以提供自己的初始 grad_ys,使用不同的初始梯度为每个 y 计算导数 (例如:如果你想为每个 y 中的每个值不同地加权梯度).

参数:

  • ys:要区分的张量或者张量列表.
  • xs:用于微分的张量或者张量列表.
  • grad_ys:(可选)与 ys 具有相同大小的张量或张量列表,并且对 ys 中的每个 y 计算的梯度.
  • name:用于将所有渐变操作组合在一起的可选名称.默认为“渐变”.
  • colocate_gradients_with_ops:如果为 True,请尝试使用相应的操作对齐梯度.
  • gate_gradients:如果为True,则在操作返回的梯度周围添加一个元组.这避免了一些竞态条件.
  • aggregation_method:指定用于组合渐变项的方法.接受的值是在类 AggregationMethod 中定义的常量.

返回值:

该函数返回 xs 中每个 x 的 sum(dy/dx) 的列表.

可能引发的异常:

  • LookupError:如果 x 和 y 之间的一个操作是没有注册的梯度函数.
  • ValueError:如果参数无效.
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy