Class HnswModel

Class Documentation

class n2::HnswModel

Public Functions

~HnswModel()
bool SaveModelToFile(const std::string &fname) const
HnswModel(const HnswModel&) = delete
void operator=(const HnswModel&) = delete
int GetNumNodes() const
int GetEnterpointId() const
int GetMaxLevel() const
int GetDataDim() const
DistanceKind GetMetric() const
const float *GetData(int node_id) const
const int *GetHigherLevelFriendsWithSize(int node_id, int level) const
const int *GetLevel0FriendsWithSize(int node_id) const

Public Members

int enterpoint_id_
int num_nodes_
int max_level_
size_t data_dim_ = 0
DistanceKind metric_
char *model_ = nullptr
uint64_t model_byte_size_
char *model_higher_level_ = nullptr
char *model_level0_ = nullptr
char *model_level0_node_base_offset_ = nullptr
uint64_t memory_per_data_
uint64_t memory_per_node_level0_
uint64_t memory_per_node_higher_level_
Mmap *model_mmap_ = nullptr

Public Static Functions

std::shared_ptr<const HnswModel> GenerateModel(const std::vector<HnswNode*> nodes, int enterpoint_id, int max_m, int max_m0, DistanceKind metric, int max_level, size_t data_dim)
std::shared_ptr<const HnswModel> LoadModelFromFile(const std::string &fname, const bool use_mmap = true)