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

#include <IndexBinaryHNSW.h>

Inheritance diagram for faiss::IndexBinaryHNSW:
faiss::IndexBinary

Public Types

typedef HNSW::storage_idx_t storage_idx_t
 
- 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
 

Public Member Functions

 IndexBinaryHNSW (int d, int M=32)
 
 IndexBinaryHNSW (IndexBinary *storage, int M=32)
 
DistanceComputerget_distance_computer () const
 
void add (idx_t n, const uint8_t *x) override
 
void train (idx_t n, const uint8_t *x) override
 Trains the storage if needed.
 
void search (idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels) const override
 entry point for search
 
void reconstruct (idx_t key, uint8_t *recons) const override
 
void reset () override
 Removes all elements from the database.
 
- 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_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

HNSW hnsw
 
bool own_fields
 
IndexBinarystorage
 
- 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
 

Detailed Description

The HNSW index is a normal random-access index with a HNSW link structure built on top

Definition at line 23 of file IndexBinaryHNSW.h.

Member Function Documentation

void faiss::IndexBinaryHNSW::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 226 of file IndexBinaryHNSW.cpp.

void faiss::IndexBinaryHNSW::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 244 of file IndexBinaryHNSW.cpp.


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