mirror of
https://github.com/facebookresearch/faiss.git
synced 2025-06-03 21:54:02 +08:00
Summary: This diff added ProductAdditiveQuantizer. A Simple Algo description: 1. Divide the vector space into several orthogonal sub-spaces, just like PQ does. 2. Quantize each sub-space by an independent additive quantizer. Usage: Construct a ProductAdditiveQuantizer object: - `d`: dimensionality of the input vectors - `nsplits`: number of sub-spaces divided into - `Msub`: `M` of each additive quantizer - `nbits`: `nbits` of each additive quantizer ```python d = 128 nsplits = 2 Msub = 4 nbits = 8 plsq = faiss.ProductLocalSearchQuantizer(d, nsplits, Msub, nbits) prq = faiss.ProductResidualQuantizer(d, nsplits, Msub, nbits) ``` Pull Request resolved: https://github.com/facebookresearch/faiss/pull/2286 Test Plan: ``` buck test //faiss/tests/:test_local_search_quantizer -- TestProductLocalSearchQuantizer buck test //faiss/tests/:test_residual_quantizer -- TestProductResidualQuantizer ``` Reviewed By: alexanderguzhva Differential Revision: D35907702 Pulled By: mdouze fbshipit-source-id: 7428a196e6bd323569caa585c57281dd70e547b1