(self, init_dict=None, key_list=None, new_allowed=False)
Args:
            init_dict (dict): the possibly-nested dictionary to initailize the CfgNode.
            key_list (list[str]): a list of names which index this CfgNode from the root.
                Currently only used for logging purposes.
            new_allowed (bool): whether adding new key is allowed when merging with
                other configs.
Args:
            init_dict (dict): the possibly-nested dictionary to initailize the CfgNode.
            key_list (list[str]): a list of names which index this CfgNode from the root.
                Currently only used for logging purposes.
            new_allowed (bool): whether adding new key is allowed when merging with
                other configs.
Args : init_dict ( dict ) : the possibly - nested dictionary to initailize the CfgNode . key_list ( list [ str ] ) : a list of names which index this CfgNode from the root . Currently only used for logging purposes . new_allowed ( bool ) : whether adding new key is allowed when merging with other configs .
def __init__(self, init_dict=None, key_list=None, new_allowed=False):
        """
        Args:
            init_dict (dict): the possibly-nested dictionary to initailize the CfgNode.
            key_list (list[str]): a list of names which index this CfgNode from the root.
                Currently only used for logging purposes.
            new_allowed (bool): whether adding new key is allowed when merging with
                other configs.
        """
        # Recursively convert nested dictionaries in init_dict into CfgNodes
        init_dict = {} if init_dict is None else init_dict
        key_list = [] if key_list is None else key_list
        init_dict = self._create_config_tree_from_dict(init_dict, key_list)
        super(CfgNode, self).__init__(init_dict)
        # Manage if the CfgNode is frozen or not
        self.__dict__[CfgNode.IMMUTABLE] = False
        # Deprecated options
        # If an option is removed from the code and you don't want to break existing
        # yaml configs, you can add the full config key as a string to the set below.
        self.__dict__[CfgNode.DEPRECATED_KEYS] = set()
        # Renamed options
        # If you rename a config option, record the mapping from the old name to the new
        # name in the dictionary below. Optionally, if the type also changed, you can
        # make the value a tuple that specifies first the renamed key and then
        # instructions for how to edit the config file.
        self.__dict__[CfgNode.RENAMED_KEYS] = {
            # 'EXAMPLE.OLD.KEY': 'EXAMPLE.NEW.KEY',  # Dummy example to follow
            # 'EXAMPLE.OLD.KEY': (                   # A more complex example to follow
            #     'EXAMPLE.NEW.KEY',
            #     "Also convert to a tuple, e.g., 'foo' -> ('foo',) or "
            #     + "'foo:bar' -> ('foo', 'bar')"
            # ),
        }

        # Allow new attributes after initialisation
        self.__dict__[CfgNode.NEW_ALLOWED] = new_allowed
def __init__ ( self , init_dict = None , key_list = None , new_allowed = False ) : # Recursively convert nested dictionaries in init_dict into CfgNodes init_dict = { } if init_dict is None else init_dict key_list = [ ] if key_list is None else key_list init_dict = self . _create_config_tree_from_dict ( init_dict , key_list ) super ( CfgNode , self ) . __init__ ( init_dict ) # Manage if the CfgNode is frozen or not self . __dict__ [ CfgNode . IMMUTABLE ] = False # Deprecated options # If an option is removed from the code and you don't want to break existing # yaml configs, you can add the full config key as a string to the set below. self . __dict__ [ CfgNode . DEPRECATED_KEYS ] = set ( ) # Renamed options # If you rename a config option, record the mapping from the old name to the new # name in the dictionary below. Optionally, if the type also changed, you can # make the value a tuple that specifies first the renamed key and then # instructions for how to edit the config file. self . __dict__ [ CfgNode . RENAMED_KEYS ] = { # 'EXAMPLE.OLD.KEY': 'EXAMPLE.NEW.KEY',  # Dummy example to follow # 'EXAMPLE.OLD.KEY': (                   # A more complex example to follow #     'EXAMPLE.NEW.KEY', #     "Also convert to a tuple, e.g., 'foo' -> ('foo',) or " #     + "'foo:bar' -> ('foo', 'bar')" # ), } # Allow new attributes after initialisation self . __dict__ [ CfgNode . NEW_ALLOWED ] = new_allowed