class_docstr: Lazily import a module, mainly to avoid pulling in large dependencies.
  
  `contrib`, and `ffmpeg` are examples of modules that are large and not always
  needed, and this allows them to only be loaded when they are used.
  
  Copied from: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/util/lazy_loader.py
code: def __dir__(self):
      module = self._load()
      return dir(module)
  
file_path: ludwig/ludwig/utils/package_utils.py
imports: import importlib
  import types
label_desc: Use image node_id 4 for calling the LazyLoader obj's underlying member method code with example usage: obj.__dir__() and returns: dir