code: def runFiniteDifferences(
      self,
      shapes,
      dtypes=(
          dtypes_lib.float32,
          dtypes_lib.float64,
          dtypes_lib.complex64,
          dtypes_lib.complex128,
      ),
      scalar_test=False,
  ):
      for shape_ in shapes:
          for dtype_ in dtypes:
              for batch_ in False, True:
                  self._runOneTest(shape_, dtype_, batch_, scalar_test)
  
imports: import numpy
  from tensorflow.python.client import session
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import stateless_random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.linalg import linalg
  from tensorflow.python.platform import benchmark
  from tensorflow.python.platform import test
label_desc: Use image node_id 10 for calling the CholeskyGradTest obj's underlying member method code with example usage: obj.runFiniteDifferences(shapes, dtypes, scalar_test) without return types