code: def _get_setup_fn_cpu(self, setup_fn):
      setup_fn_address = None
      if setup_fn is not None:
          setup_fn = njit(setup_fn)
  
          @cfunc(self._setup_fn_sig(), nopython=True)
          def setup_cfunc(
              out_shapes_ptr,
              out_ndims_ptr,
              num_outs,
              in_shapes_ptr,
              in_ndims_ptr,
              num_ins,
              num_samples,
          ):
              out_shapes_np = _get_shape_view(
                  out_shapes_ptr, out_ndims_ptr, num_outs, num_samples
              )
              in_shapes_np = _get_shape_view(
                  in_shapes_ptr, in_ndims_ptr, num_outs, num_samples
              )
              setup_fn(out_shapes_np, in_shapes_np)
  
          setup_fn_address = setup_cfunc.address
  
      return setup_fn_address
  
imports: from distutils.version import LooseVersion
  from nvidia.dali import backend
  from nvidia.dali.pipeline import Pipeline
  from nvidia.dali.data_node import DataNode
  from nvidia.dali import ops
  from nvidia.dali import types
  from numba import types
  from numba import njit, cfunc, carray, cuda
  import numpy
  import numba
label_desc: Use image node_id 10 for calling the NumbaFunction obj's underlying member method code with example usage: obj._get_setup_fn_cpu(setup_fn) and returns: setup_fn_address