def _init_config(self, config, args): if args.build_port is not None: config['base_config']['build_port'] = args.build_port if args.nn is not None: config['base_config']['nn'] = args.nn if args.agents is not None: config['base_config']['n_agents'] = args.agents self.base_config = config['base_config'] register_response = self._stub.register_to_learner() (model_abs_dir, _id, reset_config, model_config, sac_config) = register_response self._logger.info(f'Assigned to id {_id}') config['reset_config'] = self.reset_config = reset_config config['model_config'] = self.model_config = model_config config['sac_config'] = sac_config self.sac_config = config['sac_config'] self.model_abs_dir = model_abs_dir # Set logger file if available if self.logger_in_file: logger_file = Path(model_abs_dir).joinpath(f'actor-{_id}.log') config_helper.set_logger(logger_file) self._logger.info(f'Set to logger {logger_file}') config_helper.display_config(config, self._logger)
def _init_config(self, root_dir, config_dir, args): default_config_file_path = Path(__file__).resolve().parent.joinpath( 'default_config.yaml') config_abs_dir = Path(root_dir).joinpath(config_dir) config_abs_path = config_abs_dir.joinpath('config_ds.yaml') config = config_helper.initialize_config_from_yaml( default_config_file_path, config_abs_path, args.config, is_evolver=True) if args.evolver_port is not None: config['net_config']['evolver_port'] = args.evolver_port if args.name is not None: config['base_config']['name'] = args.name config['base_config']['name'] = config_helper.generate_base_name( config['base_config']['name'], 'ds') model_abs_dir = Path(root_dir).joinpath('models', config['base_config']['scene'], config['base_config']['name']) model_abs_dir.mkdir(parents=True, exist_ok=True) if args.logger_in_file: config_helper.set_logger( Path(model_abs_dir).joinpath('evolver.log')) config_helper.save_config(config, model_abs_dir, 'config_ds.yaml') config_helper.display_config(config, self._logger) self.config = config
def _init_config(self, root_dir, config_dir, args): config_abs_dir = Path(root_dir).joinpath(config_dir) config_abs_path = config_abs_dir.joinpath('config.yaml') default_config_abs_path = Path(__file__).resolve().parent.joinpath( 'default_config.yaml') # Merge default_config.yaml and custom config.yaml config = config_helper.initialize_config_from_yaml( default_config_abs_path, config_abs_path, args.config) # Initialize config from command line arguments self.train_mode = not args.run self.render = args.render self.run_in_editor = args.editor self.additional_args = args.additional_args self.disable_sample = args.disable_sample self.alway_use_env_nn = args.use_env_nn self.device = args.device self.last_ckpt = args.ckpt if args.name is not None: config['base_config']['name'] = args.name if args.port is not None: config['base_config']['port'] = args.port if args.nn is not None: config['base_config']['nn'] = args.nn if args.agents is not None: config['base_config']['n_agents'] = args.agents if args.max_iter is not None: config['base_config']['max_iter'] = args.max_iter config['base_config']['name'] = config_helper.generate_base_name( config['base_config']['name']) # The absolute directory of a specific training model_abs_dir = Path(root_dir).joinpath('models', config['base_config']['scene'], config['base_config']['name']) model_abs_dir.mkdir(parents=True, exist_ok=True) self.model_abs_dir = model_abs_dir if args.logger_in_file: config_helper.set_logger(Path(model_abs_dir).joinpath(f'log.log')) if self.train_mode: config_helper.save_config(config, model_abs_dir, 'config.yaml') config_helper.display_config(config, self._logger) self.base_config = config['base_config'] self.reset_config = config['reset_config'] self.model_config = config['model_config'] self.replay_config = config['replay_config'] self.sac_config = config['sac_config'] return config_abs_dir
def _init_config(self, config_path, args): config_file_path = f'{config_path}/config_ds.yaml' config = config_helper.initialize_config_from_yaml( f'{Path(__file__).resolve().parent}/default_config.yaml', config_file_path, args.config) self.logger = config_helper.set_logger('ds.replay', args.logger_file) config_helper.display_config(config, self.logger) return (config['base_config'], config['net_config'], config['replay_config'], config['sac_config'])
def _init_config(self, config_path, args): config_file_path = f'{config_path}/config.yaml' # Merge default_config.yaml and custom config.yaml config = config_helper.initialize_config_from_yaml(f'{Path(__file__).resolve().parent}/default_config.yaml', config_file_path, args.config) # Initialize config from command line arguments self.train_mode = not args.run self.last_ckpt = args.ckpt self.render = args.render self.run_in_editor = args.editor if args.name is not None: config['base_config']['name'] = args.name if args.port is not None: config['base_config']['port'] = args.port if args.sac is not None: config['base_config']['sac'] = args.sac if args.agents is not None: config['base_config']['n_agents'] = args.agents # Replace {time} from current time and random letters rand = ''.join(random.sample(string.ascii_letters, 4)) config['base_config']['name'] = config['base_config']['name'].replace('{time}', self._now + rand) model_root_path = f'models/{config["base_config"]["scene"]}/{config["base_config"]["name"]}' logger_file = f'{model_root_path}/{args.logger_file}' if args.logger_file is not None else None self.logger = config_helper.set_logger('sac', logger_file) if self.train_mode: config_helper.save_config(config, model_root_path, 'config.yaml') config_helper.display_config(config, self.logger) return (config['base_config'], config['reset_config'], config['replay_config'], config['sac_config'], model_root_path)
def _init_config(self, root_dir, config_dir, args): config_abs_dir = Path(root_dir).joinpath(config_dir) config_abs_path = config_abs_dir.joinpath('config.yaml') default_config_abs_path = Path(__file__).resolve().parent.joinpath( 'algorithm', 'default_config.yaml') # Merge default_config.yaml and custom config.yaml config = config_helper.initialize_config_from_yaml( default_config_abs_path, config_abs_path, args.config) # Initialize config from command line arguments self.train_mode = not args.run self.render = args.render self.run_in_editor = args.editor self.additional_args = args.additional_args self.save_image = args.save_image if args.port is not None: config['base_config']['port'] = args.port if args.agents is not None: config['base_config']['n_agents'] = args.agents config['base_config']['name'] = config_helper.generate_base_name( config['base_config']['name']) # The absolute directory of a specific training model_abs_dir = Path(root_dir).joinpath('models', config['base_config']['scene'], config['base_config']['name']) model_abs_dir.mkdir(parents=True, exist_ok=True) self.model_abs_dir = model_abs_dir config_helper.display_config(config, self._logger) self.base_config = config['base_config'] self.reset_config = config['reset_config'] return config_abs_dir
def _init_config(self, config_path, args): config_file_path = f'{config_path}/config_ds.yaml' config = config_helper.initialize_config_from_yaml( f'{Path(__file__).resolve().parent}/default_config.yaml', config_file_path, args.config) # Initialize config from command line arguments self.train_mode = not args.run self.last_ckpt = args.ckpt self.render = args.render self.run_in_editor = args.editor if args.name is not None: config['base_config']['name'] = args.name if args.build_port is not None: config['base_config']['build_port'] = args.build_port if args.sac is not None: config['base_config']['sac'] = args.sac if args.agents is not None: config['base_config']['n_agents'] = args.agents config['base_config']['name'] = config['base_config']['name'].replace( '{time}', self._now) model_root_path = f'models/ds/{config["base_config"]["scene"]}/{config["base_config"]["name"]}' logger_file = f'{model_root_path}/{args.logger_file}' if args.logger_file is not None else None self.logger = config_helper.set_logger('ds.learner', logger_file) if self.train_mode: config_helper.save_config(config, model_root_path, 'config.yaml') config_helper.display_config(config, self.logger) return (config['base_config'], config['net_config'], config['reset_config'], config['replay_config'], config['sac_config'], model_root_path)