diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-12-18 21:13:26 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-12-18 21:13:26 +0100 |
| commit | 4e4b8f6eac119ac6592aed8c5b67678d229e778f (patch) | |
| tree | a9094c0b9d1bbb410634eebf246cbc4e1c62226b /inversion/params_opt.py | |
| parent | e28e8942b06af66944df09294a2d9aaaac49bbf3 (diff) | |
inversion
Diffstat (limited to 'inversion/params_opt.py')
| -rw-r--r-- | inversion/params_opt.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/inversion/params_opt.py b/inversion/params_opt.py new file mode 100644 index 0000000..7333cb9 --- /dev/null +++ b/inversion/params_opt.py @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------ +# Util class for hyperparams. +# ------------------------------------------------------------------------------ + +import json + +class Params(): + """Class that loads hyperparameters from a json file.""" + + def __init__(self, json_path): + self.update(json_path) + + def __setitem__(self, key, item): + self.__dict__[key] = item + + def __getitem__(self, key): + return self.__dict__[key] + + def __repr__(self): + return repr(self.__dict__) + + def __len__(self): + return len(self.__dict__) + + def __delitem__(self, key): + del self.__dict__[key] + + 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 update(self, *args, **kwargs): + return self.__dict__.update(*args, **kwargs) + + # @property + # def dict(self): + # """Gives dict-like access to Params instance.""" + # return self.__dict__ |
