首先需要说明缺失libomp.so是因为没有装faiss库,因为faiss库就需要有libomp.so,因而问题变为如何正确安装faiss库。
方法一:直接使用pip安装faiss,但是会报错
pip install faiss
但是会提示错误,如下:
嗯,按照[2]的做法尝试了一下,发现还是不行。于是乎转用conda
方法二:用conda安装
确定你要安装的版本:
- CPU 版本,命令如下
conda install faiss-cpu -c pytorch
- GPU 版本,根据CUDA版本不同进行安装
conda install faiss-gpu cudatoolkit=8.0 -c pytorch # For CUDA8conda install faiss-gpu cudatoolkit=9.0 -c pytorch # For CUDA9conda install faiss-gpu cudatoolkit=10.0 -c pytorch # For CUDA10
参考:
[1].https://blog.csdn.net/mywmy/article/details/96993979
[2].https://blog.csdn.net/weixin_41864878/article/details/88683170
[3].https://www.jianshu.com/p/24b8cb642c83
[4].https://github.com/facebookresearch/faiss/issues/485#issuecomment-429528163
搞定,貌似有时候其对python版本也有限制,建议python=3.X,我的是python3.6的。
由于其一些依赖,如果出错尝试安装其依赖库,命令如下
conda install openblas swig
如果报错:ModuleNotFoundError: No module named ‘faiss.swigfaiss_gpu’
则需要安装:
conda install mkl
切记不要装混乱了,否则可能出现各种各样的问题,安装所需要的faiss版本即可;其他问题可查看[4]官网给出的一些相关说明;