code: def test_gradient_numerical(self):
      shape = (2, 10, 10)
      framed_signal = array_ops.zeros(shape)
      frame_hop = 10
  
      def f(signal):
          return reconstruction_ops.overlap_and_add(signal, frame_hop)
  
      ((jacob_t,), (jacob_n,)) = gradient_checker_v2.compute_gradient(
          f, [framed_signal]
      )
      self.assertAllClose(jacob_t, jacob_n)
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.signal import reconstruction_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 12 for calling the ReconstructionOpsTest obj's underlying member method code with example usage: obj.test_gradient_numerical() and returns: reconstruction_ops