summaryrefslogtreecommitdiff
path: root/old/faiss/util.py
diff options
context:
space:
mode:
authoradamhrv <adam@ahprojects.com>2018-12-16 01:03:14 +0100
committeradamhrv <adam@ahprojects.com>2018-12-16 01:03:14 +0100
commit10f467b64e3be528ac246d5cf664d675aca3e7f3 (patch)
tree02face1862f185796c3ddd08a274940626e31ff9 /old/faiss/util.py
parenta52dc6f8edc4e5d00e7c05e34c6c6fe6252ec2bd (diff)
parentf91c6d8e870bd3b2c69a130e4b1ed8f6be250b92 (diff)
Merge branch 'master' of github.com:adamhrv/megapixels_dev
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)