tf.test.compute_gradient
Вычисляет теоретическое и численное Якобиан f.
tf.test.compute_gradient(
f, x, delta=None
)
С y = f(x), вычисляет теоретический и численный Якобиан dy/dx.
| Аргументы | |
|---|---|
f | функция. |
x | аргументы для функции в виде списка или кортежа значений, преобразуемых в тензор. |
delta | (необязательно) возмущение, используемое для вычисления численного Якобиана. |
| Возвращаемое значение | |
|---|---|
| Пара списков, где первый - список 2-мерных numpy-массивов, представляющих теоретические Якобианы для каждого аргумента, а второй - численные. Каждый 2-мерный массив имеет "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