faiss/benchs/bench_all_ivf
Lucas Hosseini 36ddba9196
Facebook sync (2019-09-10) (#943)
* Facebook sync (2019-09-10)

* Fix depends Makefile target.

* Add faiss symlink for new include directives.

* Fix missing header.

* Fix tests.

* Fix Makefile.

* Update depend.

* Fix include directives spacing.
2019-09-20 18:59:10 +02:00
..
README.md Update README.md 2018-12-20 14:52:59 +01:00
bench_all_ivf.py Facebook sync (2019-09-10) (#943) 2019-09-20 18:59:10 +02:00
bench_kmeans.py Facebook sync (May 2019) + relicense (#838) 2019-05-28 16:17:22 +02:00
datasets.py Facebook sync (May 2019) + relicense (#838) 2019-05-28 16:17:22 +02:00
parse_bench_all_ivf.py Facebook sync (May 2019) + relicense (#838) 2019-05-28 16:17:22 +02:00
run_on_cluster_generic.bash Facebook sync (May 2019) + relicense (#838) 2019-05-28 16:17:22 +02:00

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: call bench_all_ivf.py for all tested types of indices. Since the number of experiments is quite large the script is structued 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.