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

#include <IndexBinaryFromFloat.h>

Inheritance diagram for faiss::IndexBinaryFromFloat:
faiss::IndexBinary

Public Member Functions

 IndexBinaryFromFloat (Index *index)
 
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 train (idx_t n, const uint8_t *x) override
 
- Public Member Functions inherited from faiss::IndexBinary
 IndexBinary (idx_t d=0, MetricType metric=METRIC_L2)
 
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 long remove_ids (const IDSelector &sel)
 
virtual void reconstruct (idx_t key, uint8_t *recons) const
 
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

Indexindex = nullptr
 
bool own_fields = false
 Whether object owns the index pointer.
 
- 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

IndexBinary backed by a float Index.

Supports adding vertices and searching them.

All queries are symmetric because there is no distinction between codes and vectors.

Definition at line 28 of file IndexBinaryFromFloat.h.

Member Function Documentation

void faiss::IndexBinaryFromFloat::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 34 of file IndexBinaryFromFloat.cpp.

void faiss::IndexBinaryFromFloat::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 52 of file IndexBinaryFromFloat.cpp.

void faiss::IndexBinaryFromFloat::train ( idx_t  n,
const uint8_t *  x 
)
overridevirtual

Perform training on a representative set of vectors.

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

Reimplemented from faiss::IndexBinary.

Definition at line 69 of file IndexBinaryFromFloat.cpp.


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