def test_agent_main(agent, config, training_procedure=regular_train_agent_procedure): from configs.arguments import parse_arguments args = parse_arguments(f'{type(agent)}', config) if 'CONFIG' in args.__dict__.keys() and args.__dict__['CONFIG']: import importlib.util spec = importlib.util.spec_from_file_location('overloaded.config', args.__dict__['CONFIG']) config = importlib.util.module_from_spec(spec) spec.loader.exec_module(config) else: for key, arg in args.__dict__.items(): if key != 'CONFIG': setattr(config, key, arg) U.sprint(f'\nUsing config: {config}\n', highlight=True, color='yellow') if not args.skip_confirmation: for key, arg in U.get_upper_vars_of(config).items(): print(f'{key} = {arg}') input('\nPress Enter to begin... ') try: training_procedure(agent, config) except KeyboardInterrupt: print('Stopping') torch.cuda.empty_cache()
def set_config_attributes(self, config, **kwargs) -> None: if config: config_vars = U.get_upper_vars_of(config) self.__check_for_duplicates_in_args(**config_vars) self.__parse_set_attr(**config_vars) self.__parse_set_attr(**kwargs)
LOG_DIRECTORY=C.LOG_DIRECTORY) U.save_model(_trained_model, config) env.close() if __name__ == '__main__': import experiments.continuous.c2d_config as C from configs.arguments import parse_arguments args = parse_arguments('C2D', C) for key, arg in args.__dict__.items(): setattr(C, key, arg) U.sprint(f'\nUsing config: {C}\n', highlight=True, color='yellow') if not args.skip_confirmation: for key, arg in U.get_upper_vars_of(C).items(): print(f'{key} = {arg}') input('\nPress Enter to begin... ') _agent = C.AGENT_TYPE(C) try: train_agent(C, _agent) except KeyboardInterrupt: print('Stopping') torch.cuda.empty_cache()
def to_dict(C): return U.get_upper_vars_of(C)