From 4e4b8f6eac119ac6592aed8c5b67678d229e778f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 18 Dec 2019 21:13:26 +0100 Subject: inversion --- inversion/params_opt.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 inversion/params_opt.py (limited to 'inversion/params_opt.py') 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__ -- cgit v1.2.3-70-g09d2