class_docstr: Generic hierarchical cache for transformed functions.
  
  The keys are soft references (i.e. they are discarded when the key is
  destroyed) created from the source function by `_get_key`. The subkeys are
  strong references and can be any value. Typically they identify different
  kinds of transformation.
code: def _get_key(self, entity):
      raise NotImplementedError("subclasses must override")
  
file_path: DALI/dali/python/nvidia/dali/_autograph/pyct/cache.py
imports: import inspect
  import weakref
label_desc: Use image node_id 2 for calling the _TransformedFnCache obj's underlying member method code with example usage: obj._get_key(entity) without return types