结构体 faiss::ZnSphereCodec
-
struct ZnSphereCodec : public faiss::ZnSphereSearch, public faiss::EnumeratedVectors
可以返回编码向量的 id 的编解码器
使用 ZnSphereSearch 通过编码置换和符号来编码向量。 依赖于 ZnSphereSearch,因为它使用原子数
公共函数
-
ZnSphereCodec(int dim, int r2)
-
uint64_t search_and_encode(const float *x) const
-
virtual void decode(uint64_t code, float *c) const override
解码它
-
virtual uint64_t encode(const float *x) const override
接受不需要是质心的向量
-
float search(const float *x, float *c) const
查找最近的质心。 x 不需要标准化
-
float search(const float *x, float *c, float *tmp, int *tmp_int, int *ibest_out = nullptr) const
完整的调用。 需要外部分配的临时空间
-
void search_multi(int n, const float *x, float *c_out, float *dp_out)
-
void encode_multi(size_t nc, const float *c, uint64_t *codes) const
-
void decode_multi(size_t nc, const uint64_t *codes, float *c) const
-
void find_nn(size_t n, const uint64_t *codes, size_t nq, const float *xq, int64_t *idx, float *dis)
公共成员
-
std::vector<CodeSegment> code_segments
-
uint64_t nv
-
size_t code_size
-
int dimS
-
int r2
-
int natom
-
std::vector<float> voc
尺寸 dim * ntatom
-
int dim
-
ZnSphereCodec(int dim, int r2)