CentOS7 Faiss cpu 版本安裝

2021-08-13 02:30:18 字數 2679 閱讀 6763

這個現在已經不適用啦,現在可以看這個官方的安裝文件的介紹!

faiss快速檢索,你值得擁有

系統:centos7(64 位),python 2.7.13 |anaconda 4.4.0 (64-bit)

由於工作需要,臨時了解到乙個faiss,據說是一款較好的找相似圖的工具,這裡主要記錄下我安裝cpu版本的乙個過程。

wget 

# 修改許可權

chmod +x anaconda2-4.3.0-linux-x86_64.sh

# 執行預設安裝,一路enter鍵。

bash anaconda2-4.3.0-linux-x86_64.sh

# 檢測1

conda list

'''出現 n多python依賴包'

''# 檢測2

python --version

'''出現帶anaconda標記的python,如下:'

''python 2.7.13 :: anaconda custom (64-bit)

事實上,mkl***支援的***faiss***是最高效的,然而,由於版權認證等問題,我們選擇***openblas

# anaconda2 安裝 openblas。

conda install openblas

# root許可權下建立軟鏈。

ln -s $home/anaconda2/lib/libopenblas.so.0 /usr/lib64/libopenblas.so.0

git clone

# 進入faiss原始碼目錄.

cd faiss

# 根據系統配置編譯環境. [linux 為例]

cp example_makefiles/makefile.inc.linux ./makefile.inc

# 編譯 &測試blas案例.

make tests/test_blas

./tests/test_blas

# 編譯安裝.

make

# 5.1、簡單測試.

# 執行測試案例.

./tests/demo_ivfpq_indexing

# 5.2、複雜測試.

wget

tar -xzvf sift.tar.gz

# 轉移資料集。

mv sift sift1m

# 編譯 &執行測試案例.

make tests/demo_sift1m

./tests/demo_sift1m

# 更改配置檔案

vim makefile.inc

'''找到 pythoncflags 選項,替換如下:'

''pythoncflags=-i$home/anaconda2/include/python2.7/ -i$home/anaconda2/lib/python2.7/site-packages/numpy/core/include/

# 編譯.

make py

# 檢驗 python-faiss.

python -c "import faiss"

ldd -r _swigfaiss.so

# 6.1、簡單測試.

python -c "import faiss, numpy faiss.kmeans(10, 20).train(numpy.random.rand(1000, 10).astype('float32'))"

# 6.2、複雜測試.

export pythonpath=.

mkdir tmp

python python/demo_auto_tune.py

在上面的配置python開發環境時遇到了下面的錯誤:

#執行下面的命令

make py

#得到下面的報錯

make: *** [python/_swigfaiss.so] error 1

後來在faiss 官網上找到了如下解答:

# 先清除之前編譯的操作

make clean

# 進入 python資料夾

cd faiss/python

# 官網解釋是swig相關檔案太舊了,需要更新

git checkout swigfaiss_gpu_wrap.cxx swigfaiss_gpu.py swigfaiss_wrap.cxx swigfaiss.py

# 再執行編譯命令

make py

***附: makefile.inc 中的: ***

pythoncflags=-i$home/anaconda2/include/python2.7/ -i$home/anaconda2/lib/python2.7/site-packages/numpy/core/include/
一定要配置對,不然會出現和上述一樣的錯誤。如下圖:

centos7 安裝centos桌面

一 輸入命令 yum groupinstall gnome desktop graphical administration tools 二 設定系統啟動等級。systemctl get default 獲取當前系統執行形式,會顯示multi user.target 命令列終端 或者 graphic...

7 centos7 使用者管理

useradd meng如果建立使用者時沒有指定屬於哪個組,則缺省會建立乙個名字與使用者相同的組並歸屬於此組 對應的home目錄下回建立乙個meng的資料夾 passwd meng 之後會提示輸入密碼 userdel meng 刪除使用者,會保留home檔案 userdel r meng 刪除使用者...

centos7 r語言安裝 centOS7安裝R

在安裝時發現一般教程中說的 yum install r 這個命令不管用了啊,然後去官網了解了一波 發現官網上表示r語言已經屬於epel倉庫管理了。1.安裝epel倉庫 yum install epel release 隨後報錯 這是由於centos7自帶的python版本為2.7,因此要將該檔案的p...