summaryrefslogtreecommitdiff
path: root/inversion/params_opt.py
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-12-18 21:13:26 +0100
committerJules Laplace <julescarbon@gmail.com>2019-12-18 21:13:26 +0100
commit4e4b8f6eac119ac6592aed8c5b67678d229e778f (patch)
treea9094c0b9d1bbb410634eebf246cbc4e1c62226b /inversion/params_opt.py
parente28e8942b06af66944df09294a2d9aaaac49bbf3 (diff)
inversion
Diffstat (limited to 'inversion/params_opt.py')
-rw-r--r--inversion/params_opt.py39
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__