code: def __init__(
      self, impl_name, function, num_outputs=1, device="cpu", **kwargs
  ):
      self._schema = _b.GetSchema(impl_name)
      self._spec = _b.OpSpec(impl_name)
      self._device = device
      self._impl_name = impl_name
  
      self._init_args, self._call_args = ops._separate_kwargs(kwargs)
      self._name = self._init_args.pop("name", None)
  
      for key, value in self._init_args.items():
          self._spec.AddArg(key, value)
  
      self.function = function
      self.num_outputs = num_outputs
      self._preserve = True
  
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 1 to create a new PythonFunctionBase object  with example: obj = PythonFunctionBase(impl_name, function, num_outputs, device)