【安装填坑】 faiss在Windows上的安装问题---from . import _swigfaiss ImportError: DLL load failed: 找不到指定的模块。

Faiss的全称是Facebook AI Similarity Search。这是一个开源库,针对高维空间中的海量数据,提供了高效且可靠的检索方法。暴力检索耗时巨大,对于一个要求实时人脸识别的应用来说是不可取的。
而Faiss则为这种场景提供了一套解决方案。Faiss从两个方面改善了暴力搜索算法存在的问题:降低空间占用加快检索速度首先,Faiss中提供了若干种方法实现数据压缩,包括PCA、Product-Quantization等

安装这个库的时候,如果是用Windows平台的话,很容易出现问题,因为faiss官方维护比较多的是Linux系统版本,并且Windows平台没有faiss-gpu版本(我前几个月记得通过conda-forge方法成功安装GPU版本,但是今天一用貌似又出问题,到现在还没解决,没办法我只能用faiss-cpu版本凑合着了),所以为了不让自己下次再花那么多时间,这篇文章记录下这两天安装遇到的问题吧。
安装步骤

  1. 在anconda 环境里 输入 pip install faiss-cpu,开始安装
  2. 安装时可能会提示如下报警
    在这里插入图片描述
    这里说我的numpy安装文件夹里找不到METDATA文件,我进入对应的文件夹发现的确没有什么文件,
  3. 重新安装numpy ,选1.21.4版本,pip install numpy == 1.21.4,安装完后进入numpy安装文件夹发现有需要的METADATA
    在这里插入图片描述
  4. 运行你电脑里的faiss代码,比如:
import faiss
import numpy
faiss.Kmeans(10, 20).train(numpy.random.rand(1000, 10).astype('float32'))

有输出结果接证明安装成功




上面提到的安装问题还有个很奇怪的地方,就是我用anconda安装后,其实用jupyter notebook是可以执行的,比如faiss-gpu 版本,
在这里插入图片描述

但是在VS Code死活不能执行,提示找不到_swigfaiss模块
在这里插入图片描述
目前我还没弄明白什么原因,希望已经解决的朋友说下操作,或者到官方issue留言"import faiss" works in jupyternotebook but doesn’t work in VS Code

参考:
1.faiss install.md

Guess you like

Origin blog.csdn.net/jackhh1/article/details/121292267