code: def test_crossentropycategorical1hot_lifter():
      rng = np.random.RandomState(utt.fetch_seed())
      x = tensor.matrix()
      y = tensor.lvector()
      z = tensor.nnet.crossentropy_categorical_1hot(x, y)
      gx = theano.grad(z.mean(), x)
      f = theano.function([x, y], [z, gx], mode=mode_with_gpu)
      assert not any(
          isinstance(
              n.op,
              (
                  tensor.nnet.CrossentropyCategorical1Hot,
                  tensor.nnet.CrossentropyCategorical1HotGrad,
              ),
          )
          for n in f.maker.fgraph.apply_nodes
      )
      f(
          rng.uniform(0.1, 0.9, (13, 5)).astype(theano.config.floatX),
          rng.randint(5, size=(13,)),
      )
  
imports: from __future__ import absolute_import, print_function, division
  from nose.tools import assert_raises
  import numpy
  import theano
  from theano import tensor
  import theano.tensor.slinalg
  from theano.tests.breakpoint import PdbBreakpoint
  from theano.tests import unittest_tools, test_ifelse
  from theano.tensor.tests import test_basic
  from theano.gof.opt import check_stack_trace
  import theano.gpuarray
  from ..None import basic_ops
  from ..type import GpuArrayType, gpuarray_shared_constructor, get_context
  from ..basic_ops import GpuAlloc, GpuAllocEmpty, GpuReshape, GpuFromHost, HostFromGpu, host_from_gpu
  from ..blas import GpuGemm
  from ..elemwise import GpuCAReduceCuda, GpuCAReduceCPY, GpuElemwise, Elemwise, max_inputs_to_GpuElemwise
  from ..dnn import GpuDnnReduction
  from ..subtensor import GpuSubtensor
  from ..linalg import GpuCusolverSolve, cusolver_available, GpuCholesky
  from .config import mode_with_gpu, mode_without_gpu, test_ctx_name, SkipTest
  import unittest
  from theano.tensor.nnet import abstract_conv
  from theano.gpuarray import dnn, blas, opt
label_desc: Use image node_id 28 for calling a global function with example usage: test_crossentropycategorical1hot_lifter() without return types