Summary: This PR adds a functionality where an IVF index can be searched and the corresponding codes be returned. It also adds a few functions to compress int arrays into a bit-compact representation. Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3143 Test Plan: ``` buck test //faiss/tests/:test_index_composite -- TestSearchAndReconstruct buck test //faiss/tests/:test_standalone_codec -- test_arrays ``` Reviewed By: algoriddle Differential Revision: D51544613 Pulled By: mdouze fbshipit-source-id: 875f72d0f9140096851592422570efa0f65431fc |
||
---|---|---|
.. | ||
README.md | ||
bench_all_ivf.py | ||
bench_kmeans.py | ||
cmp_with_scann.py | ||
datasets_oss.py | ||
make_groundtruth.py | ||
parse_bench_all_ivf.py | ||
run_on_cluster_generic.bash |
README.md
Benchmark of IVF variants
This is a benchmark of IVF index variants, looking at compression vs. speed vs. accuracy. The results are in this wiki chapter
The code is organized as:
-
datasets.py
: code to access the datafiles, compute the ground-truth and report accuracies -
bench_all_ivf.py
: evaluate one type of inverted file -
run_on_cluster_generic.bash
: callbench_all_ivf.py
for all tested types of indices. Since the number of experiments is quite large the script is structured so that the benchmark can be run on a cluster. -
parse_bench_all_ivf.py
: make nice tradeoff plots from all the results.
The code depends on Faiss and can use 1 to 8 GPUs to do the k-means clustering for large vocabularies.
It was run in October 2018 for the results in the wiki.