許多 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/