昇腾社区首页
中文
注册
开发者
下载

DiskPQParams接口

API定义

DiskPQParams {

int pqChunks = 512;

int funcType = 1;

int dim = 1;

char *pqTable = nullptr;

uint32_t *offsets = nullptr;

char *tablesTransposed = nullptr;

char *centroids = nullptr;

}

功能描述

PQ量化结构体。

输入

输出

参数值

int pqChunks:表示将原始向量维度dim切分为pqChunks块。

int funcType:表示进行PQ查表距离计算时使用的计算标准。

int dim:表示原始数据维度。

char *pqTable:表示存储码本数据的指针。默认值为nullptr。

uint32_t *offsets:表示存储每个chunk在原始维度上起始和截止的维度。默认值为nullptr。

char *tablesTransposed:表示存储码本数据的转置形态指针。默认值为nullptr。

char *centroids:表示存储每个维度的平均值,用于对数据进行中心化处理。默认值为nullptr。

参数约束

  • 1 <= pqChunks <= dim。使用较小pqChunks将使用更少内存,但会带来相应的精度损失。一般情况下,推荐使用pqChunks为dim / 8或者dim / 16(均向上取整)。默认值为512。
  • funcType取值范围为1~3。1表示使用L2距离;2表示使用IP距离;3表示使用cosine距离。默认值为1。
  • 1 <= dim <= 2000。默认值为1。
  • pqTable目前仅支持float数据类型,即OpenGauss数据类型中的Vector数据类型。
  • tablesTransposed目前仅支持float数据类型,即OpenGauss数据类型中的Vector数据类型。