Spaces:
Sleeping
Sleeping
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) | |