Spec-Zone.ru › TensorFlow

tf.test.compute_gradient

Вычисляет теоретический и численный якобианы f.

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

Для y = f(x) вычисляет теоретический и численный якобианы dy/dx.

Аргументы
f функция.
x аргументы функции в виде списка или кортежа значений, преобразуемых в Tensor.
delta (необязательно) возмущение, используемое для вычисления численного якобиана.
Возвращает
Пару списков: первый список содержит двумерные массивы numpy, представляющие теоретические якобианы для каждого аргумента, а второй — численные якобианы. Каждый двумерный массив имеет «y_size» строк и «x_size» столбцов, где «x_size» — количество элементов в соответствующем аргументе, а «y_size» — количество элементов в f(x).
Вызывает исключение
ValueError Если результат пуст, но градиент ненулевой.
ValueError Если x имеет тип, отличный от списка.

Пример:

@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)

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/test/compute_gradient

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API