code: def setup_ctc_case():
      activations = np.asarray(
          [
              [[0.1, 0.6, 0.1, 0.1, 0.1], [0.1, 0.1, 0.6, 0.1, 0.1]],
              [[0.6, 0.1, 0.1, 0.1, 0.1], [0.1, 0.1, 0.5, 0.2, 0.1]],
          ],
          dtype=np.float32,
      )
  
      activation_times = np.asarray([2, 2], dtype=np.int32)
  
      labels = np.asarray([[1, 2], [1, 2]], dtype=np.int32)
  
      expected_costs = np.asarray(
          [2.962858438, 3.053659201], dtype=np.float32
      )
  
      grads = [
          [
              [
                  0.177031219,
                  -0.7081246376,
                  0.177031219,
                  0.177031219,
                  0.177031219,
              ],
              [
                  0.177031219,
                  -0.8229685426,
                  0.291875124,
                  0.177031219,
                  0.177031219,
              ],
          ],
          [
              [
                  0.291875124,
                  0.177031219,
                  -0.8229685426,
                  0.177031219,
                  0.177031219,
              ],
              [
                  0.1786672771,
                  0.1786672771,
                  -0.7334594727,
                  0.1974578798,
                  0.1786672771,
              ],
          ],
      ]
  
      expected_gradients = np.asarray(grads, dtype=np.float32)
  
      return [
          activations,
          labels,
          activation_times,
          expected_costs,
          expected_gradients,
      ]
  
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 2 for calling a global function with example usage: setup_ctc_case() and returns: list