這個現在已經不適用啦,現在可以看這個官方的安裝文件的介紹!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...