class_docstr: Dictionary subclass whose entries can be accessed like attributes (as well as normally).
  Credits: https://aiida.readthedocs.io/projects/aiida-core/en/latest/_modules/aiida/common/extendeddicts.html#AttributeDict  # noqa
docstr: Convert the AttrDict back to a dictionary.
  
  Helpful to feed the configuration to generic functions
  which only accept primitive types
docstr_tok: ["Convert","the","AttrDict","back","to","a","dictionary",".","Helpful","to","feed","the","configuration","to","generic","functions","which","only","accept","primitive","types"]
code: def to_dict(self):
      """
      Convert the AttrDict back to a dictionary.
  
      Helpful to feed the configuration to generic functions
      which only accept primitive types
      """
      dict = {}
      for k, v in self.items():
          if isinstance(v, AttrDict):
              dict[k] = v.to_dict()
          else:
              dict[k] = v
      return dict
  
file_path: vissl/vissl/config/attr_dict.py
label_desc: Use image node_id 2 for calling the AttrDict obj's underlying member method code with example usage: obj.to_dict() and returns: dict