code: def test_gradient_numerical(self):
      if context.executing_eagerly():
          return
      with self.session():
          signal_shape = (2, 128)
          signal = array_ops.ones(signal_shape)
          frame_length = 33
          frame_step = 9
          frames = shape_ops.frame(signal, frame_length, frame_step)
          error = test.compute_gradient_error(
              signal, signal_shape, frames, frames.shape.as_list()
          )
          self.assertLess(error, 2e-5)
  
imports: 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 ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.kernel_tests.signal import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.signal import shape_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 13 for calling the FrameTest obj's underlying member method code with example usage: obj.test_gradient_numerical() without return types