code: def _function_wrapper_cpu(
      self, batch_processing, function, num_outputs, *dlpack_inputs
  ):
      if batch_processing:
          return PythonFunction.function_wrapper_batch(
              self.pipeline,
              function,
              num_outputs,
              _dlpack_to_array,
              _dlpack_from_array,
              *dlpack_inputs,
          )
      else:
          return PythonFunction.function_wrapper_per_sample(
              self.pipeline,
              function,
              num_outputs,
              _dlpack_to_array,
              _dlpack_from_array,
              *dlpack_inputs,
          )
  
imports: import nvidia.dali.python_function_plugin
  from nvidia.dali import backend
  from nvidia.dali import ops
  from nvidia.dali.ops import _registry
  from nvidia.dali.data_node import DataNode
  from nvidia.dali.pipeline import Pipeline
  from nvidia.dali.types import CUDAStream
label_desc: Use image node_id 5 for calling the PythonFunction obj's underlying member method code with example usage: obj._function_wrapper_cpu(batch_processing, function, num_outputs) and returns: PythonFunction, PythonFunction