Tune in to the first Women in ML Symposium this Tuesday, October 19 at 9am PST Register now


View source on GitHub

Computes the theoretical and numeric Jacobian of f.

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

f the function.
x a list arguments for the function
delta (optional) perturbation used to compute numeric Jacobian.

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 "x_size" rows and "y_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).

ValueError If result is empty but the gradient is nonzero.
ValueError If x is not list, but any other type.


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