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