Esempio n. 1
0
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()
Esempio n. 2
0
 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)
Esempio n. 3
0
                     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()
Esempio n. 4
0
def to_dict(C):
    return U.get_upper_vars_of(C)