import json class HParams(): def __init__(self, json_path): self.load(json_path) def save(self, json_path): """Saves parameters to json file""" with open(json_path, 'w') as f: json.dump(self.__dict__, f, indent=4) def load(self, json_path): """Loads parameters from json file""" with open(json_path) as f: params = json.load(f) self.__dict__.update(params) def update(self, params): self.__dict__.update(params) @property def dict(self): """Gives dict-like access to Params instance by `params.dict['learning_rate']`""" return self.__dict__