faiss_install_tutorial

macOS Sierra (10.12.3)编译Faiss
最近Facebook AI实验室开源了相似性搜索库Faiss。
Faiss是用于有效的相似性搜索(similarity search)和稠密矢量聚类(clustering of dense vectors)的库。它包含了可在任何大小向量集合里进行搜索的算法,向量集合的大小甚至可达到RAM容纳不下的地步。另外,它还包含了用于评估和参数调优的支持代码。Faiss用C++编写,有Python/numpy的完整包装。其中最有用的一些算法则在GPU上实现。

机器上没有安装HomeBrew的,请参考让Mac也能拥有apt-get类似的功能——Brew。

下面,我们介绍一下如何在macOS Sierra (10.12.3)上编译Faiss。

1.下载Faiss源代码

Shell

$ git clone https://github.com/facebookresearch/faiss.git
1
$ git clone https://github.com/facebookresearch/faiss.git
2.安装编译需要的工具

Shell

$ brew install llvm
1
$ brew install llvm
3.修改调整源代码,准备编译

Shell

$ cd faiss
$ cp example_makefiles/makefile.inc.Mac.brew makefile.inc
1
2
$ cd faiss
$ cp example_makefiles/makefile.inc.Mac.brew makefile.inc
4.编译

Shell

$ make all
1
$ make all
5.执行测试用例

Shell

#需要手工指定动态库的搜索路径,否则会提示“dyld: Library not loaded: @rpath/libomp.dylib”,导致进程无法启动

$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/opt/llvm/lib/
$ ./tests/demo_ivfpq_indexing
1
2
3
4

#需要手工指定动态库的搜索路径,否则会提示“dyld: Library not loaded: @rpath/libomp.dylib”,导致进程无法启动

$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/opt/llvm/lib/
$ ./tests/demo_ivfpq_indexing
其余的示例,参考源代码中的INSTALL文件中的内容即可。

-------------本文结束感谢您的阅读-------------
坚持整理学习笔记,您的支持将鼓励我继续整理下去!