Spaces:
Running
on
Zero
Running
on
Zero
| import yaml | |
| # TODO: add function should be changed | |
| class HParams(object): | |
| # Hyperparameter class using yaml | |
| def __init__(self, **kwargs): | |
| self.__dict__ = kwargs | |
| def add(self, **kwargs): | |
| # change is needed - if key is existed, do not update. | |
| self.__dict__.update(kwargs) | |
| def update(self, **kwargs): | |
| self.__dict__.update(kwargs) | |
| return self | |
| def save(self, path): | |
| with open(path, 'w') as f: | |
| yaml.dump(self.__dict__, f) | |
| return self | |
| def __repr__(self): | |
| return '\nHyperparameters:\n' + '\n'.join([' {}={}'.format(k, v) for k, v in self.__dict__.items()]) | |
| def load(cls, path): | |
| with open(path, 'r') as f: | |
| return cls(**yaml.load(f, Loader=yaml.FullLoader)) | |
| if __name__ == '__main__': | |
| hparams = HParams.load('hparams.yaml') | |
| print(hparams) | |
| d = {"MemoryNetwork": 0, "c": 1} | |
| hparams.add(**d) | |
| print(hparams) | |