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

#include <IndexBinaryFlat.h>

Inheritance diagram for faiss::IndexBinaryFlat:
faiss::IndexBinary

Public Member Functions

 IndexBinaryFlat (idx_t d)
 
void add (idx_t n, const uint8_t *x) override
 
void reset () override
 Removes all elements from the database.
 
void search (idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels) const override
 
void reconstruct (idx_t key, uint8_t *recons) const override
 
long remove_ids (const IDSelector &sel) override
 
- Public Member Functions inherited from faiss::IndexBinary
 IndexBinary (idx_t d=0, MetricType metric=METRIC_L2)
 
virtual void train (idx_t n, const uint8_t *x)
 
virtual void add_with_ids (idx_t n, const uint8_t *x, const long *xids)
 
virtual void range_search (idx_t n, const uint8_t *x, int radius, RangeSearchResult *result) const
 
void assign (idx_t n, const uint8_t *x, idx_t *labels, idx_t k=1)
 
virtual void reconstruct_n (idx_t i0, idx_t ni, uint8_t *recons) const
 
virtual void search_and_reconstruct (idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, uint8_t *recons) const
 
void display () const
 

Public Attributes

std::vector< uint8_t > xb
 database vectors, size ntotal * d / 8
 
bool use_heap = true
 
size_t query_batch_size = 32
 
- Public Attributes inherited from faiss::IndexBinary
int d
 vector dimension
 
int code_size
 number of bytes per vector ( = d / 8 )
 
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::IndexBinary
using idx_t = Index::idx_t
 all indices are this type
 
using component_t = uint8_t
 
using distance_t = int32_t
 

Detailed Description

Index that stores the full vectors and performs exhaustive search.

Definition at line 21 of file IndexBinaryFlat.h.

Member Function Documentation

void faiss::IndexBinaryFlat::add ( idx_t  n,
const uint8_t *  x 
)
overridevirtual

Add n vectors of dimension d to the index.

Vectors are implicitly assigned labels ntotal .. ntotal + n - 1

Parameters
xinput matrix, size n * d / 8

Implements faiss::IndexBinary.

Definition at line 24 of file IndexBinaryFlat.cpp.

void faiss::IndexBinaryFlat::reconstruct ( idx_t  key,
uint8_t *  recons 
) const
overridevirtual

Reconstruct a stored vector.

This function may not be defined for some indexes.

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

Reimplemented from faiss::IndexBinary.

Definition at line 78 of file IndexBinaryFlat.cpp.

long faiss::IndexBinaryFlat::remove_ids ( const IDSelector sel)
overridevirtual

Remove some ids. Note that because of the indexing structure, the semantics of this operation are different from the usual ones: the new ids are shifted.

Reimplemented from faiss::IndexBinary.

Definition at line 58 of file IndexBinaryFlat.cpp.

void faiss::IndexBinaryFlat::search ( idx_t  n,
const uint8_t *  x,
idx_t  k,
int32_t *  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 / 8
labelsoutput labels of the NNs, size n*k
distancesoutput pairwise distances, size n*k

Implements faiss::IndexBinary.

Definition at line 34 of file IndexBinaryFlat.cpp.

Member Data Documentation

bool faiss::IndexBinaryFlat::use_heap = true

Select between using a heap or counting to select the k smallest values when scanning inverted lists.

Definition at line 28 of file IndexBinaryFlat.h.


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