當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。