许多 AI 系统训练完毕,正式上线时的基本操作往往可以抽象为:在高维向量空间中,给定一个向量,寻找与之最相近的 k 个向量。当向量数目异常巨大时,如何快速地执行这一基本操作,便成为 AI 系统在工程应用中必须解决的问题。
Facebook 发布 faiss (Facebook AI Similarity Search) 就是专门用来解决这个问题的。
详细阐述请看 facebook 的原文:
https://code.facebook.com/posts/1373769912645926/faiss-a-library-for-efficient-similarity-search/
国内许多媒体关于 faiss 的介绍,基本都是上述文章的翻译稿。
这里我们暂且不去深究 faiss 背后的原理,只是简单记录一下 centos 7.3 上如何使用 faiss,供有需要的朋友参考。
1 # 安装依赖 2 sudo yum install -y openblas swig 3 4 # 获取 faiss 源代码 5 git clone https://github.com/facebookresearch/faiss.git 6 7 # 编译 faiss 8 cd faiss 9 cp example_makefiles/makefile.inc.Linux makefile.inc 10 make all 11 12 # 编译 python 接口 13 make py 14 15 # 设置优化选项 16 export OMP_WAIT_POLICY=PASSIVE 17 18 # 运行 python 示例代码 19 export PYTHONPATH=. 20 python tutorial/python/1-Flat.py 21 python tutorial/python/2-IVFFlat.py 22 python tutorial/python/3-IVFPQ.py
【原文链接】http://www.ipaomi.com/2017/10/09/centos-7-3-编译-安装-测试-facebook-faiss/