Faiss
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Public Member Functions | Public Attributes | List of all members
faiss::MultiIndexQuantizer Struct Reference

#include <IndexPQ.h>

Inheritance diagram for faiss::MultiIndexQuantizer:
faiss::Index

Public Member Functions

 MultiIndexQuantizer (int d, size_t M, size_t nbits)
 number of bit per subvector index More...
 
void train (idx_t n, const float *x) override
 
void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override
 
void add (idx_t n, const float *x) override
 add and reset will crash at runtime
 
void reset () override
 removes all elements from the database.
 
void reconstruct (idx_t key, float *recons) const override
 
- Public Member Functions inherited from faiss::Index
 Index (idx_t d=0, MetricType metric=METRIC_INNER_PRODUCT)
 
virtual void add_with_ids (idx_t n, const float *x, const long *xids)
 
virtual void range_search (idx_t n, const float *x, float radius, RangeSearchResult *result) const
 
void assign (idx_t n, const float *x, idx_t *labels, idx_t k=1)
 
virtual long remove_ids (const IDSelector &sel)
 
virtual void reconstruct_n (idx_t i0, idx_t ni, float *recons) const
 
void compute_residual (const float *x, float *residual, idx_t key) const
 
void display () const
 

Public Attributes

ProductQuantizer pq
 
- Public Attributes inherited from faiss::Index
int d
 vector dimension
 
idx_t ntotal
 total nb of indexed vectors
 
bool verbose
 verbosity level
 
bool is_trained
 set if the Index does not require training, or if training is done already
 
MetricType metric_type
 type of metric this index uses for search
 

Additional Inherited Members

- Public Types inherited from faiss::Index
typedef long idx_t
 all indices are this type
 

Detailed Description

Quantizer where centroids are virtual: they are the Cartesian product of sub-centroids.

Definition at line 135 of file IndexPQ.h.

Constructor & Destructor Documentation

faiss::MultiIndexQuantizer::MultiIndexQuantizer ( int  d,
size_t  M,
size_t  nbits 
)

number of bit per subvector index

Parameters
ddimension of the input vectors
Mnumber of subquantizers

Definition at line 783 of file IndexPQ.cpp.

Member Function Documentation

void faiss::MultiIndexQuantizer::reconstruct ( idx_t  key,
float *  recons 
) const
overridevirtual

Reconstruct a stored vector (or an approximation if lossy coding)

this function may not be defined for some indexes

Parameters
keyid of the vector to reconstruct
reconsreconstucted vector (size d)

Reimplemented from faiss::Index.

Definition at line 861 of file IndexPQ.cpp.

void faiss::MultiIndexQuantizer::search ( idx_t  n,
const float *  x,
idx_t  k,
float *  distances,
idx_t labels 
) const
overridevirtual

query n vectors of dimension d to the index.

return at most k vectors. If there are not enough results for a query, the result array is padded with -1s.

Parameters
xinput vectors to search, size n * d
labelsoutput labels of the NNs, size n*k
distancesoutput pairwise distances, size n*k

Implements faiss::Index.

Definition at line 805 of file IndexPQ.cpp.

void faiss::MultiIndexQuantizer::train ( idx_t  ,
const float *   
)
overridevirtual

Perform training on a representative set of vectors

Parameters
nnb of training vectors
xtraining vecors, size n * d

Reimplemented from faiss::Index.

Definition at line 794 of file IndexPQ.cpp.


The documentation for this struct was generated from the following files: