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


Python tf.test.compute_gradient用法及代码示例


计算 f 的理论和数值雅可比行列式。

用法

tf.test.compute_gradient(
    f, x, delta=None
)

参数

  • f 函数。
  • x 函数的参数作为可转换为张量的值的列表或元组。
  • delta (可选)用于计算数字雅可比行列式的扰动。

返回

  • 一对列表,其中第一个是二维 numpy 数组的列表,表示每个参数的理论雅可比矩阵,第二个列表是数字列表。每个二维数组都有 "y_size" 行和 "x_size" 列,其中 "x_size" 是相应参数中的元素数,"y_size" 是 f(x) 中的元素数。

抛出

  • ValueError 如果结果为空但梯度不为零。
  • ValueError 如果 x 不是列表,而是任何其他类型。

使用 y = f(x),计算理论和数值雅可比 dy/dx。

例子:

@tf.function
def test_func(x):
  return x*x


class MyTest(tf.test.TestCase):

  def test_gradient_of_test_func(self):
    theoretical, numerical = tf.test.compute_gradient(test_func, [1.0])
    # ((array([[2.]], dtype=float32),),
    #  (array([[2.000004]], dtype=float32),))
    self.assertAllClose(theoretical, numerical)

相关用法


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