diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-12-14 17:24:23 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-12-14 17:24:23 +0100 |
| commit | 36b6082dfa768cbf35d40dc2c82706dfae0b687b (patch) | |
| tree | 70a49e3623b708caad8d93cd722512d5438a0bec /faiss/util.py | |
| parent | b39b1d51db2d485e9c60fb4d3f5445474cef8700 (diff) | |
flask server click script
Diffstat (limited to 'faiss/util.py')
| -rw-r--r-- | faiss/util.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/faiss/util.py b/faiss/util.py new file mode 100644 index 00000000..97afbc22 --- /dev/null +++ b/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) |
