示例#1
0
 def _override_config(cls, overrides):
     config = cls.defaults()
     for key in overrides:
         if key not in config:
             raise KeyError("unknown config key '{}'".format(key))
     config.update(overrides)
     config = use_attrdicts(config)
     return config
示例#2
0
 def __new__(cls, filepath):
     with open(os.path.expanduser(filepath)) as file_:
         definition = yaml.load(file_)
     definition = use_attrdicts(definition)
     definition.envs = list(cls._load_envs(definition.envs))
     definition.algorithms = [
         cls._load_algorithm(x) for x in definition.algorithms
     ]
     cls._validate_definition(definition)
     return definition
示例#3
0
def algo_config(algo_cls):
    config = use_attrdicts(algo_cls.defaults())
    if algo_cls.__name__ == 'DQN':
        config.replay_capacity = 100
        config.batch_size = 5
        config.start_learning = 10
        config.network = 'network_test'
    if algo_cls.__name__ == 'A3C':
        config.learners = 2
        config.network = 'network_test'
    if algo_cls.__name__ == 'KeyboardDoom':
        config.viewer = MockViewer
    return config
示例#4
0
def algo_config(algo_cls):
    config = use_attrdicts(algo_cls.defaults())
    if algo_cls.__name__ == 'DQN':
        config.replay_capacity = 100
        config.batch_size = 3
        config.start_learning = 10
        config.network = 'test'
        config.preprocess_config = dict(frame_skip=2)
    if algo_cls.__name__ == 'A3C':
        config.learners = 2
        config.network = 'test'
        config.preprocess_config = dict(frame_skip=2)
    if algo_cls.__name__ == 'KeyboardDoom':
        config.viewer = MockViewer
    if algo_cls.__name__ == 'Reinforce':
        config.update_every = 10
        config.batch_size = 5
        config.network = 'test'
    return config