class_docstr: GPU wrapper for Baidu CTC loss function.
  
  Parameters
  ----------
  compute_grad
      If set to True, enables the computation of gradients of the CTC loss function.
class_docstr_tok: ["GPU","wrapper","for","Baidu","CTC","loss","function",".","Parameters","--","--","--","--","--","compute_grad","If","set","to","True",",","enables","the","computation","of","gradients","of","the","CTC","loss","function","."]
code: def L_op(self, inputs, outputs, output_grads):
      # Gradients computed by Op
      assert self.compute_grad and len(outputs) == 2
      gradients = outputs[1]
      assert gradients is not None
  
      # Gradients of original function, to compose chain rule
      grad_op = output_grads[0]
      grad_shuffle = GpuDimShuffle(
          input_broadcastable=(
              False,
              False,
              False,
          ),
          new_order=(1, 0, 2),
      )(gradients)
      grad_bdot = T.basic.batched_dot(grad_op, grad_shuffle)
      grad_shuffle_reverse = GpuDimShuffle(
          input_broadcastable=(
              False,
              False,
              False,
          ),
          new_order=(1, 0, 2),
      )(grad_bdot)
      return [
          grad_shuffle_reverse,
          grad_undefined(self, 1, inputs[1]),
          grad_undefined(self, 2, inputs[2]),
      ]
  
imports: from __future__ import absolute_import, print_function, division
  import theano
  from theano import config, gof
  import theano.tensor
  from .basic_ops import gpu_contiguous, as_gpuarray_variable, infer_context_name, gpuarray_helper_inc_dir
  import theano.tensor.nnet.ctc
  from .type import GpuArrayType, gpu_context_type
  from .elemwise import GpuDimShuffle
  from theano.gradient import grad_undefined
  from theano.gof import local_optimizer
  from theano.tensor.opt import register_canonicalize
  from theano.tensor.nnet.ctc import ctc_available
  import os
  import sys
  from .None import pygpu
label_desc: Use image node_id 9 for calling the GpuConnectionistTemporalClassification obj's underlying member method code with example usage: obj.L_op(inputs, outputs, output_grads) and returns: list