編譯安裝 Faiss編譯安裝

2021-10-14 17:35:45 字數 1185 閱讀 7956

相信做搜尋的朋友,對faiss並不陌生,它區別於傳統的倒排檢索,通過近似向量的方式,召回檢索資料,改善搜尋體驗。最近我司準備在生產環境中上faiss,第一步得先能完整編譯可安裝的so,於是我就上手初體驗了一把。

faiss有兩種安裝方式,一種是通過conda安裝,一種通過原始碼編譯安裝,本文介紹第二種安裝方式。

起初按著git上的readme安裝,無奈寫的太籠統了,對於剛開始摸索的人來說並不太友好,於是在網上檢索了其他資源,看看有沒有可以借鑑的文章。看了多篇文件,千挑萬選,最後綜合三篇文章,花了幾個小時搞定。苦於自己遇到的問題,所以寫篇文章分享一下,自認為是比較全面的,供後續朋友參考使用。

由於起初我的開發機g++版本4.8.5,會報如下錯誤:

之後將g++公升級到4.9.3,執行命令通過,可以繼續編譯了。公升級到4.9.3之後,需要設定預設的g++版本,執行命令:

#設定g++預設版本路徑,/usr/local/gcc-4.9.3為安裝路徑export path=/usr/local/gcc-4.9.3/bin/:$path
安裝faiss前,需要先安裝上文提到的兩個數學元件。

安裝openblas

git clone  openblas#如果沒有安裝gfortran#yum install gcc-gfortranmake fc=gfortran#將openblas預設安裝在/opt下make install#由於我已找運維開通了臨時root許可權,所以自己一併搞定#通常rd無root許可權,yum和make install需運維配合安裝#將編譯好的動態庫鏈結至/usr/lib目錄下ln -s /opt/openblas/lib/libopenblas.so  /usr/lib/libopenblas.so
安裝lapack

以上兩步安裝成功之後,便可以正經的安裝faiss了。

安裝faiss

faiss動態庫和標頭檔案在預設的安裝路徑中,ls檢視到,就代表安裝完成了,但能否執行成功呢?需要找個訓練集測試一下,這裡使用官方指定的訓練集,執行個demo測試一下。

最後執行結果如下圖所示,就代表成功啦。

faiss的編譯過程

faiss開源後,為特徵檢索帶來了乙個新的途徑。因此,開始在自己的主機上編譯安裝faiss。本篇文章主要記錄下我在centos7.4上安裝faiss cpu版本的乙個過程。os centos 7.4 faiss 官方git上的64位發布版本 python python2.7 系統自帶 安裝依賴 yu...

RE 從零開始的faiss庫的編譯安裝

最近facebook更新了faiss的install.md,所以其實沒什麼好寫的,但是這一路上踩了不少坑還是稍作記錄。雙系統安裝教程 win10 ubuntu16.04雙系統 gcc g gfortran安裝和降級 推薦安裝gcc6以下版本,方便後面安裝gpu和faiss。ubuntu16.04預設...

編譯安裝 編譯安裝php7 4 7

2.使用 tar 命令解壓php 4.configure 執行 configure 命令預編譯php,此命令會生成makefile檔案,用來配置你的安裝選項 我的configure引數 configure prefix usr local php enable fpm with openssl en...