Faiss
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Public Member Functions | Public Attributes | List of all members
faiss::IndexScalarQuantizer Struct Reference
Inheritance diagram for faiss::IndexScalarQuantizer:
faiss::Index

Public Member Functions

 IndexScalarQuantizer (int d, ScalarQuantizer::QuantizerType qtype, MetricType metric=METRIC_L2)
 
void train (idx_t n, const float *x) override
 
void add (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 reset () override
 removes all elements from the database.
 
void reconstruct_n (idx_t i0, idx_t ni, float *recons) const override
 
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)
 
void compute_residual (const float *x, float *residual, idx_t key) const
 
void display () const
 

Public Attributes

ScalarQuantizer sq
 Used to encode the vectors.
 
std::vector< uint8_t > codes
 Codes. Size ntotal * pq.code_size.
 
size_t code_size
 
- 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

Definition at line 82 of file IndexScalarQuantizer.h.

Constructor & Destructor Documentation

faiss::IndexScalarQuantizer::IndexScalarQuantizer ( int  d,
ScalarQuantizer::QuantizerType  qtype,
MetricType  metric = METRIC_L2 
)

Constructor.

Parameters
ddimensionality of the input vectors
Mnumber of subquantizers
nbitsnumber of bit per subvector index

Definition at line 699 of file IndexScalarQuantizer.cpp.

Member Function Documentation

void faiss::IndexScalarQuantizer::add ( idx_t  n,
const float *  x 
)
overridevirtual

Add n vectors of dimension d to the index.

Vectors are implicitly assigned labels ntotal .. ntotal + n - 1 This function slices the input vectors in chuncks smaller than blocksize_add and calls add_core.

Parameters
xinput matrix, size n * d

Implements faiss::Index.

Definition at line 719 of file IndexScalarQuantizer.cpp.

void faiss::IndexScalarQuantizer::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 799 of file IndexScalarQuantizer.cpp.

void faiss::IndexScalarQuantizer::reconstruct_n ( idx_t  i0,
idx_t  ni,
float *  recons 
) const
overridevirtual

Reconstruct vectors i0 to i0 + ni - 1

this function may not be defined for some indexes

Parameters
reconsreconstucted vector (size ni * d)

Reimplemented from faiss::Index.

Definition at line 789 of file IndexScalarQuantizer.cpp.

void faiss::IndexScalarQuantizer::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 727 of file IndexScalarQuantizer.cpp.

void faiss::IndexScalarQuantizer::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 713 of file IndexScalarQuantizer.cpp.


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