faiss使用

水文: 待完善

一、简介

  faiss是用来做召回的, facebook出品, 内置HNSW{占用内存巨大}以及一些基于倒排索引和聚类的算法, 基于向量做的召回.
  基于向量做召回的还有annoy.

  更多参考: https://zhuanlan.zhihu.com/p/37381294

二、推荐博客

  使用PQ的时候,如果要用到GPU. 对向量维度也有要求!!但是我也还没弄明白

三、常见问题

3.1 安装:

  faiss的安装不能直接pip install faiss会出错的.
  应该参考这个的:https://github.com/facebookresearch/faiss/issues/821
  比如: conda install faiss-gpu cudatoolkit=11.0 -c pytorch

  无脑copy遇bug. {据说:这么安装会遇到3.3的问题,我遇到了. }

3.2 【faiss】TypeError: in method ‘IndexFlat_add’, argument 3 of type ‘float const *’

  faiss使用的数据类型是float32,所以如果数据类型是float64会报错.

  使用以下代码转换:

arr = arr.astype("float32")

3.3 Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

  • 安装:
conda install mkl
conda install mkl-service
  • 代码中加入:
import mkl 
mkl.get_max_threads()
import faiss

3.4 IndexPreTransform.cpp:163: Error: ‘is_trained’ failed

  使用index_factory构建的话, add之前是需要train的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值