tf.test.compute_gradient

Computes the theoretical and numeric Jacobian of f.

With y = f(x), computes the theoretical and numeric Jacobian dy/dx.

Args
f the function.
x the arguments for the function as a list or tuple of values convertible to a Tensor.
delta (optional) perturbation used to compute numeric Jacobian.
Returns
A pair of lists, where the first is a list of 2-d numpy arrays representing the theoretical Jacobians for each argument, and the second list is the numerical ones. Each 2-d array has "y_size" rows and "x_size" columns where "x_size" is the number of elements in the corresponding argument and "y_size" is the number of elements in f(x).
Raises
ValueError If result is empty but the gradient is nonzero.
ValueError If x is not list, but any other type.

Example:

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

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

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