from admin.environment import env_settings class Settings: """ Training settings, e.g. the paths to datasets and networks.""" def __init__(self): self.set_default() def set_default(self): self.env = env_settings() self.use_gpu = True class MatchingNetParams: """Class for matching network parameters.""" def set_default_values(self, default_vals: dict): for name, val in default_vals.items(): if not hasattr(self, name): setattr(self, name, val) def get(self, name: str, *default): """Get a parameter value with the given name. If it does not exists, it return the default value given as a second argument or returns an error if no default value is given.""" if len(default) > 1: raise ValueError('Can only give one default value.') if not default: return getattr(self, name) return getattr(self, name, default[0]) def has(self, name: str): """Check if there exist a parameter with the given name.""" return hasattr(self, name)