系统:win10+linux子系统+ubuntu16.04
Faiss: 1.5.0 (https://github.com/facebookresearch/faiss/archive/v1.5.0.zip)
Python:python3
编译
- 如果没安装python3,先安装python3(sudo apt-get install python3 python3-pip)
PS:部分已经安装过的可能还需要软链接
sudo ln -s /usr/bin/python3.6 /usr/bin/python
sudo ln -s /usr/bin/python3-config /usr/bin/python-config
sudo ln -s /usr/bin/pip3 /usr/bin/pip
- 安装numpy(pip3 install numpy)
- 安装make、swig、blas和g++ (sudo apt install make g++ swig libopenblas-dev)
- 进入faiss的目录 (./configure --without-cuda) 不需要手动复制makefile文件。另外可能需要手动修改执行命令后的makefile里的python目录。如果有权限问题,运行( chmod -R 777 ./ )
PYTHONCFLAGS = -I/usr/include/python3.5m -I/usr/include/python3.5m -I/home/x/.local/lib/python3.5/site-packages/numpy/core/include
PYTHON = python
- 执行编译(make && sudo make install)
- 编译python (sudo make py && sudo make py install) 如果提示没有setuptools,使用(sudo apt install python-pip就行了)
- 添加faiss-python的全局变量,有两种方式,一种是修改.bashrc(export PYTHONPATH=/mnt/d/github/faiss/python),一种是在python文件里(import sys
sys.path.append('/mnt/d/github/faiss/python'))。
测试
- 测试c++版本是否编译成功 (demos/demo_ivfpq_indexing)
- 测试python是否编译成功 (python -c "import faiss") 可能需要进入到faiss/python目录里进行测试,如果没有设置faiss-python全局变量。
网友评论