code: def reducer_override(self, obj):
      if inspect.ismodule(obj):
          return module_reducer(obj)
      if isinstance(obj, types.CellType):
          return cell_reducer(obj)
      if inspect.isfunction(obj):
          if (
              isinstance(obj, type(dummy_lambda))
              and obj.__name__ == dummy_lambda.__name__
              or getattr(obj, "_dali_pickle_by_value", False)
          ):
              return function_by_value_reducer(obj)
          try:
              pickle.dumps(obj)
          except AttributeError as e:
              if "Can't pickle local object" in str(e):
                  return function_by_value_reducer(obj)
          except pickle.PicklingError as e:
              if "it's not the same object as" in str(e):
                  return function_by_value_reducer(obj)
      return NotImplemented
  
file_path: DALI/dali/python/nvidia/dali/reducers.py
imports: import inspect
  import pickle
  import sys
  import types
  import marshal
  import importlib
label_desc: Use image node_id 1 for calling the DaliCallbackPickler obj's underlying member method code with example usage: obj.reducer_override(obj) and returns: NotImplemented, module_reducer, cell_reducer, function_by_value_reducer, function_by_value_reducer, function_by_value_reducer