class_docstr: Helper class to have a dict-like object with dot access.
  
  For example, instead of `d = {'key': 'value'}` use
  `d = AttrDict(key='value')`.
  To access keys, instead of doing `d['key']` use `d.key`.
  
  While this has some limitations on the possible keys (for example, do not
  set the key `items` or you will lose access to the `items()` method), this
  can make some code more clear.
class_docstr_tok: ["Helper","class","to","have","a","dict-like","object","with","dot","access",".","For","example",",","instead","of","`","d","=","{","'key","'",":","'value","'","}","`","use","`","d","=","AttrDict","(","key='value","'",")","`",".","To","access","keys",",","instead","of","doing","`","d","[","'key","'","]","`","use","`","d.key","`",".","While","this","has","some","limitations","on","the","possible","keys","(","for","example",",","do","not","set","the","key","`","items","`","or","you","will","lose","access","to","the","`","items","(",")","`","method",")",",","this","can","make","some","code","more","clear","."]
docstr: Initialize AttrDict using input dict.
docstr_tok: ["Initialize","AttrDict","using","input","dict","."]
code: def __init__(self, *args, **kwargs):
      """
      Initialize AttrDict using input dict.
      """
      super().__init__(*args, **kwargs)
      self.__dict__ = self
  
imports: from collections import deque, OrderedDict
  from typing import Union, Optional, Set, Any, Dict, List, Tuple
  from datetime import timedelta
  import functools
  import math
  import time
  import re
  import shutil
  import json
  import os
  from parlai.core.message import Message
  from parlai.utils.strings import colorize
  from parlai.utils.io import PathManager
  import parlai.utils.logging
label_desc: Use image node_id 1 to create a new AttrDict object from inherited base classes: dict with example: obj = AttrDict()