首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Faiss.normalize_L2(嵌入)给出执行index.Search()时在212.0范围内的距离

Faiss.normalize_L2(嵌入)给出执行index.Search()时在212.0范围内的距离
EN

Stack Overflow用户
提问于 2022-10-17 10:30:52
回答 1查看 106关注 0票数 0

索引= faiss.IndexFlatL2(vectormatrix.shape1)

打印(index.is_trained)

Faiss.normalize_L2(向量矩阵)

Index.add(向量矩阵)

打印(index.ntotal)

距离,索引=index.Search(token_vector.reshape(1,token_vector.size)),k)

EN

回答 1

Stack Overflow用户

发布于 2022-11-16 06:27:57

我有几乎相同的问题,但内部产品。距离应该在范围内(-1;1),但我有100或200这样的值。

代码语言:javascript
复制
%%time
k = 255

dim = X.shape[1]
quantiser = faiss.IndexFlatIP(dim)
index = faiss.IndexIVFFlat(quantiser, dim, k)

faiss.normalize_L2(X)

index.train(X)
index.add(X)

sample = ['some text']
query = scipy.sparse.csr_matrix.toarray(vectorizer.transform(sample)).astype('float32')
index.nprobe=100
D, I = index.search(query, 10)
print(D[0])

> array([73.49516 , 73.504524, 73.75489 , 73.767204, 73.78795 ,
> 73.800064, 73.80722 , 73.82175 , 73.94714 , 74.034   ], dtype=float32)

我现在正努力解决这个问题

faiss.METRIC_INNER_PRODUCT作为参数添加到faiss.IndexIVFFlat()中部分解决了我的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74095910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档