参数调优指导
本节提供的参数调优指导同时适用于C++接口与Python接口。
构造函数接口
参数名称 |
参数取值范围 |
推荐值 |
调优说明 |
---|---|---|---|
R |
[11,499] |
50 |
邻居节点数,影响图构建耗时和最终索引质量,一般推荐使用50,过大可能会导致构建耗时过长以及搜索性能下降,过小则会影响检索精度。 |
L |
[11,1999] |
100,200 |
构图时的候选节点列表大小,影响图构建耗时和最终索引质量,一般推荐使用100,过大可能会导致构建耗时过长。 |
A |
[1,360] |
60,120 |
构图剪枝时的角度阈值,对于IP数据集,一般使用120,L2数据集一般使用60。 |
graph_opt_iter |
[0,30] |
29 |
图索引自我迭代的轮数,过大可能导致构建耗时过长。 |
Add接口
参数名称 |
参数取值范围 |
推荐值 |
调优说明 |
---|---|---|---|
level |
[0,3] |
1,2 |
控制量化的等级,level 1代表SQ8U量化,level 2代表SQ4U量化。对于IP数据集,一般使用1,L2数据集使用2。 |
SetEf接口
参数名称 |
参数取值范围 |
推荐值 |
调优说明 |
---|---|---|---|
ef |
[1, n],其中“n”为数据量大小。 |
- |
检索时的候选节点列表大小,对于小规模数据集,一般在10~500左右。更大的ef会带来更高的检索精度,但是检索性能也会降低。建议在精度达标情况下ef取较小值。 |
SetEarlyStoppingParams接口
参数名称 |
参数取值范围 |
推荐值 |
调优说明 |
---|---|---|---|
adding_pref |
大于等于1 |
- |
用于检索时早停机制,表示候选节点插入阈值,检索过程中节点插入候选集的位置大于adding_pref表示其远离查询节点,后续检索到答案的可能较低。较小的adding_pref能提高检索效率,但是检索精度也会降低。 |
patience |
大于等于1 |
- |
检索时早停机制,表示插入位置靠后或者插入失败的耐心值,当连续插入位置大于阈值adding_pref的次数超过耐心值,检索结束。较小的patience能提高检索效率,但是检索精度也会降低。 |
父主题: KBest接口说明