faiss/benchs/bench_all_ivf
Matthijs Douze 760cce7f3a Support for additive quantizer search (#1961)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/1961

This diff implements LUT-based search for additive quantizers.
It also further merges code for LSQ and the RedisualQuantizer.

The documentation + evaluation is on github:

https://github.com/facebookresearch/faiss/wiki/Additive-quantizers

Reviewed By: wickedfoo

Differential Revision: D29395079

fbshipit-source-id: b8a24a647bbdc4cda2a699e791ffdb2a12bfa9c6
2021-08-20 01:00:10 -07:00
..
README.md
bench_all_ivf.py Support for additive quantizer search (#1961) 2021-08-20 01:00:10 -07:00
bench_kmeans.py PQ4 fast scan benchmarks (#1555) 2020-12-16 01:18:58 -08:00
cmp_with_scann.py Add missing copyright headers. (#1689) 2021-02-16 09:11:30 -08:00
datasets.py PQ4 fast scan benchmarks (#1555) 2020-12-16 01:18:58 -08:00
make_groundtruth.py PQ4 fast scan benchmarks (#1555) 2020-12-16 01:18:58 -08:00
parse_bench_all_ivf.py Support for additive quantizer search (#1961) 2021-08-20 01:00:10 -07:00
run_on_cluster_generic.bash PQ4 fast scan benchmarks (#1555) 2020-12-16 01:18:58 -08: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.