def get_config(self): conf = AttrDict() # paths conf.exp_dir = self.get_exp_dir() conf.conf_path = get_config_path(self.args.path) # general and model configs print('loading from the config file {}'.format(conf.conf_path)) conf_module = imp.load_source('conf', conf.conf_path) conf.general = conf_module.configuration conf.model = conf_module.model_config # data config try: data_conf = conf_module.data_config except AttributeError: data_conf_file = imp.load_source( 'dataset_spec', os.path.join(AttrDict(conf).data_dir, 'dataset_spec.py')) data_conf = AttrDict() data_conf.dataset_spec = AttrDict(data_conf_file.dataset_spec) data_conf.dataset_spec.split = AttrDict( data_conf.dataset_spec.split) conf.data = data_conf # model loading config conf.ckpt_path = conf.model.checkpt_path if 'checkpt_path' in conf.model else None return conf
def get_config(self): conf = AttrDict() # paths conf.exp_dir = get_exp_dir() conf.conf_path = get_config_path(self.args.path) # general and agent configs print('loading from the config file {}'.format(conf.conf_path)) conf_module = imp.load_source('conf', conf.conf_path) conf.general = conf_module.configuration conf.agent = conf_module.agent_config conf.agent.device = self.device # data config conf.data = conf_module.data_config # environment config conf.env = conf_module.env_config conf.env.device = self.device # add device to env config as it directly returns tensors # sampler config conf.sampler = conf_module.sampler_config if hasattr( conf_module, 'sampler_config') else AttrDict({}) # model loading config conf.ckpt_path = conf.agent.checkpt_path if 'checkpt_path' in conf.agent else None # load notes if there are any if self.args.notes != '': conf.notes = self.args.notes else: try: conf.notes = conf_module.notes except: conf.notes = '' # load config overwrites if self.args.config_override != '': for override in self.args.config_override.split(','): key_str, value_str = override.split('=') keys = key_str.split('.') curr = conf for key in keys[:-1]: curr = curr[key] curr[keys[-1]] = type(curr[keys[-1]])(value_str) return conf