code: def test_nonuniform_types_cpu():
      pipe = nonuniform_types_pipe(
          batch_size=8,
          num_threads=1,
          device_id=0,
          run_fn=nonuniform_types_run_cpu,
          out_types=[dali_types.UINT8, dali_types.INT64],
          in_types=[dali_types.UINT8],
          outs_ndim=[3, 1],
          ins_ndim=[3],
          device="cpu",
      )
      pipe.build()
      for _ in range(3):
          images_in, images_out, img_shape = pipe.run()
          for i in range(len(images_in)):
              assert np.array_equal(
                  255 - images_in.at(i), images_out.at(i)
              )
              assert np.array_equal(
                  images_out.at(i).shape, img_shape.at(i)
              )
  
imports: import numpy
  import os
  from nvidia.dali import pipeline_def
  import nvidia.dali
  import nvidia.dali.fn
  import nvidia.dali.types
  from nose import with_setup
  from test_utils import get_dali_extra_path, to_array, check_numba_compatibility_cpu, check_numba_compatibility_gpu
  from nvidia.dali.plugin.numba.fn.experimental import numba_function
  from numba import cuda
label_desc: Use image node_id 47 for calling a global function with example usage: test_nonuniform_types_cpu() without return types