code: def deepcopy_fast(obj):
      if obj is None:
          return None
      if ia.is_single_number(obj) or ia.is_string(obj):
          return obj
      if isinstance(obj, list):
          return [deepcopy_fast(el) for el in obj]
      if isinstance(obj, tuple):
          return tuple([deepcopy_fast(el) for el in obj])
      if ia.is_np_array(obj):
          return np.copy(obj)
      if hasattr(obj, "deepcopy"):
          return obj.deepcopy()
      return copylib.deepcopy(obj)
  
file_path: imgaug/imgaug/augmentables/utils.py
imports: from __future__ import print_function, division, absolute_import
  import copy
  import numpy
  import six.moves
  import imgaug
label_desc: Use image node_id 2 for calling a global function with example usage: deepcopy_fast(obj) and returns: copylib, None, obj, unknown, tuple, np, obj