faiss c++ 源码编译
0.写在前面
参考下述文章的编译安装步骤同时将自己遇到的错误进行梳理解决:
https://juejin.im/post/5bed7cebe51d454e5b5f2c23 十分感谢此文章~
遇到问题多去faiss github里面的 issues中找找,往往总能找到你想要的?
https://github.com/facebookresearch/faiss
1.安装Python环境
如果使用python接口,不需要对源码有更深了解的话,可以直接用 conda 安装,简单方便
#下载anaconda包并安装
wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh
chmod +x Anaconda3-5.3.0-Linux-x86_64.sh
bash Anaconda3-5.3.0-Linux-x86_64.sh
#手动添加环境变量
vi $HOME/.bashrc
export PATH="$HOME/anaconda3/bin:$PATH"
source $HOME/.bashrc
#安装faiss
conda install faiss-cpu -c pytorch #cpu版本
conda install faiss-gpu -c pytorch # [DEFAULT]For CUDA8.0 gpu版本
conda install faiss-gpu cuda90 -c pytorch # For CUDA9.0 gpu版本
conda install faiss-gpu cuda91 -c pytorch # For CUDA9.1 gpu版本
2.编译源码
2.1 C++环境
2.1.1 相关库安装并编译
# 安装gcc:
yum install gcc
# 安装g++:
yum install gcc-c++
# 查看gcc版本,如果是gcc4.8以下建议升级到gcc4.8
gcc -v
#安装OpenBLAS
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make FC=gfortran #如果没有 安装yum install gcc-gfortran
make install
ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/libopenblas.so
LD_LIBRARY_PATH=/opt/OpenBLAS/lib
export LD_LIBRARY_PATH
#安装lapack
wget http://www.netlib.org/lapack/lapack-3.4.2.tgz
tar -zxf lapack-3.4.2.tgz
cd lapack-3.4.2
cp ./INSTALL/make.inc.gfortran ./
mv make.inc.gfortran make.inc
vi