summaryrefslogtreecommitdiff
path: root/old/faiss/util.py
diff options
context:
space:
mode:
authorAdam Harvey <adam@ahprojects.com>2018-12-23 01:37:03 +0100
committerAdam Harvey <adam@ahprojects.com>2018-12-23 01:37:03 +0100
commit4452e02e8b04f3476273574a875bb60cfbb4568b (patch)
tree3ffa44f9621b736250a8b94da14a187dc785c2fe /old/faiss/util.py
parent2a65f7a157bd4bace970cef73529867b0e0a374d (diff)
parent5340bee951c18910fd764241945f1f136b5a22b4 (diff)
.
Diffstat (limited to 'old/faiss/util.py')
-rw-r--r--old/faiss/util.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/old/faiss/util.py b/old/faiss/util.py
new file mode 100644
index 00000000..97afbc22
--- /dev/null
+++ b/old/faiss/util.py
@@ -0,0 +1,29 @@
+import time
+import simplejson as json
+import pickle
+from os import path
+from collections import namedtuple
+
+# Converts JSON el['key'] to Pythonic object-style el.key
+def _json_object_hook(d):
+ return namedtuple('X', d.keys())(*d.values())
+
+# Load a JSON recipe
+def load_recipe(path):
+ with open(path) as fh:
+ return json.load(fh, object_hook=_json_object_hook)
+
+# Load a pickle file
+def load_pickle(data_dir, pkl_fn):
+ load_start = time.time()
+ with open(path.join(str(data_dir), str(pkl_fn)), 'rb') as fh:
+ raw = fh.read()
+ data = pickle.loads(raw)
+ load_end = time.time()
+ load_time = load_end - load_start
+ print("Pickle load time: {:.1f}s".format(load_time))
+ return data
+
+def read_json(fn):
+ with open(fn, 'r') as json_file:
+ return json.load(json_file)