FAISS C++版本安装教程

6 篇文章 0 订阅

FAISS的Python版本安装起来是很快乐的,conda就可以轻松安装。
但是C++版本需要花费一点功夫。网上关于C++的教程除了官方以外少之有少,官方教程又过于繁琐,特此整理自己的安装流程,希望帮助到大家。
对官方教程感兴趣的,关注:https://github.com/facebookresearch/faiss/blob/main/INSTALL.md

预编译

git clone https://github.com/facebookresearch/faiss.git
cd faiss

按照官方github的要求,首先cmake预编译:

cmake -DBUILD_TESTING=ON -DFAISS_ENABLE_GPU=OFF build .

果断报错:

-- Could NOT find MKL (missing: MKL_LIBRARIES) 

以及

  Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)

因此下面安装MKL和SWIG。

安装MKL

网上大多数教程都要从英特尔官网注册账号开始,然而这里并不用,我尝试了下直接从命令行安装即可:

sudo apt install intel-mkl

注意安装时出现的提示一直Enter(也就是按确定建进行下一步)就行,不用改其他的东西。
再次预编译发现找到了MKL的包。

安装SWIG

同样是直接apt安装。

sudo apt install swig
swig -version

查看下swig版本可以检查是否安装上了。

最终预编译成功:

(base) mjy@mjyzj:~/toytools/faiss$ cmake -DBUILD_TESTING=ON -DFAISS_ENABLE_GPU=OFF build .
-- Found SWIG: /usr/bin/swig4.0 (found version "4.0.1") 
-- Found Python: /home/mjy/anaconda3/lib/libpython3.8.so (found version "3.8.8") found components: Development NumPy Interpreter 
-- The C compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /home/mjy/anaconda3/bin/python (found version "3.8.8") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mjy/toytools/faiss

编译

不用看官方github的命令,我这里直接使用make进行编译:

make -j6

编译完成后进行测试:

make demo_imi_flat
./demos/demo_imi_flat

安装

sudo make install

安装成功,安装信息:

......
......
......
......
-- Installing: /usr/local/include/faiss/utils/simdlib_neon.h
-- Installing: /usr/local/include/faiss/utils/utils.h
-- Installing: /usr/local/include/faiss/invlists/OnDiskInvertedLists.h
-- Installing: /usr/local/share/faiss/faiss-config.cmake
-- Installing: /usr/local/share/faiss/faiss-config-version.cmake
-- Installing: /usr/local/share/faiss/faiss-targets.cmake
-- Installing: /usr/local/share/faiss/faiss-targets-noconfig.cmake

可以看到将FAISS安装在了/usr/local/share中。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值