code: def testInvalidSecondGradient(self):
      inputs = np.random.randn(2, 2, 3).astype(np.float32)
      inputs_t = constant_op.constant(inputs)
      labels = SimpleSparseTensorFrom([[0, 1], [1, 0]])
      seq_lens = np.array([2, 2], dtype=np.int32)
      v = [1.0]
  
      with self.session(use_gpu=False):
          loss = _ctc_loss_v2(
              inputs=inputs_t, labels=labels, sequence_length=seq_lens
          )
          # Taking this second gradient should fail, since it is not
          # yet supported.
          with self.assertRaisesRegex(
              LookupError, "explicitly disabled"
          ):
              _ = gradients_impl._hessian_vector_product(
                  loss, [inputs_t], v
              )
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  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 random_seed
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import ctc_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import sparse_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 4 for calling the CTCLossTest obj's underlying member method code with example usage: obj.testInvalidSecondGradient() without return types