class_docstr: Test Baidu CTC wrapper implementation.
  
  Expected values for costs and gradients are obtained through an external
  C implementation, that uses the library directly.
class_docstr_tok: ["Test","Baidu","CTC","wrapper","implementation",".","Expected","values","for","costs","and","gradients","are","obtained","through","an","external","C","implementation",",","that","uses","the","library","directly","."]
code: def test_verify_grad(self):
      def ctc_op_functor(labels, in_lengths):
          def wrapper(acts):
              # Create auxiliary symbolic variables
              t_activation_times = theano.shared(
                  in_lengths, name="activation_times"
              )
              t_labels = theano.shared(labels, name="labels")
              return ctc(acts, t_labels, t_activation_times)
  
          return wrapper
  
      activations, labels, activation_times = setup_grad_case()
  
      ctc_op = ctc_op_functor(labels, activation_times)
  
      utt.verify_grad(ctc_op, [activations])
  
file_path: Theano/theano/tensor/nnet/tests/test_ctc.py
imports: from __future__ import division, absolute_import, print_function
  import unittest
  from nose.plugins.skip import SkipTest
  import numpy
  import theano
  import theano.tensor
  from theano.tests import unittest_tools
  from theano.tensor.nnet.ctc import ctc_available, ctc, ConnectionistTemporalClassification
label_desc: Use image node_id 6 for calling the TestCTC obj's underlying member method code with example usage: obj.test_verify_grad() and returns: wrapper, ctc