日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具

發布時間:2025/4/16 Ubuntu 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Facebook 的相似性搜索工具 Faiss支持GPU下矢量表示檢索,有較強的檢索性能,可用于有效的相似性搜索(similarity search)和稠密矢量聚類(clustering of dense vectors)。Faiss 是圍繞存儲一個向量集的索引類型(index type)構建的,并且索引類型提供了一個利用 L2 和/或點積向量比較的函數,以使該函數能夠在向量集中進行搜索。下面說明下在ubuntu下步數faiss,并使用python接口開發。

1.環境準備

1)python環境:

命令:

python -V

python 3.6.6

2)CUDA版本:

命令:

cat /usr/local/cuda/version.txt

CUDA Version 9.0.176

3)Conda安裝

懶人部署,不想編譯,直接conda install。本機沒有安裝Anaconda,去https://conda.io/miniconda.html 下載miniconda installer. Miniconda是一個Anaconda的輕量級替代,默認只包含了python和conda,但是可以通過pip和conda來安裝所需要的包。Conda是一個開源的軟件包管理系統和環境管理系統,用于安裝多個版本的軟件包及其依賴關系,并在它們之間輕松切換。

命令:

wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh? source /home/root/.bashrc conda -V

顯示conda 4.7.12

2.Faiss安裝(GPU)

命令:# For CUDA9

conda install faiss-gpu cudatoolkit=9.0 -c pytorch

參考:https://github.com/facebookresearch/faiss/blob/master/INSTALL.md#general-compilation-instructions

3.Python測試

參考:https://github.com/facebookresearch/faiss/wiki/Getting-started

如圖:

4.python兼容

1)由于我本機原來有一個python解釋器,現在又部署了Anaconda(也會安裝一個python解釋器)。

命令:

import sys sys.executable

python解釋器路徑:/usr/bin/python3.6

Anaconda中python解釋器路徑:/root/miniconda3/bin/python3.7? ?

2)發現終端命令前多了(base),原來是conda activate base 自動執行,執行conda deactivate后就沒有了。如果激活就執行anaconda下的python解釋器,如果不激活就執行原解釋器。

3)找到用戶目錄下的.bashrc文件,注釋掉conda的配置,不讓conda自啟動。在安裝的過程,可以選擇不配置環境,我選擇了配置環境,所以需要手動取消。

這樣的話,每次進入終端后都要配置下Anaconda路徑,才能使用conda,如下命令。

export PATH="/root/miniconda3/bin:$PATH" --當前會話有效 source .bashrc

?

配置PATH后,就可以使用Anaconda下的python解釋器,然后就可用這個環境下安裝的faiss庫了。

總結下:Anaconda安裝時選擇了配置環境,導致原python解釋器需要切換。手動在.bashrc文件中取消Anaconda環境配置。每次進入終端后,默認python解釋器是/usr/bin下的python3.6。要使用faiss庫,就先配置Anaconda路徑啟用Anaconda中的python解釋器(/root/miniconda3/bin/下python3.7),然后就可以import faiss了。

5.Jupyter Notebook配置多個kernel

一般開發在jupyter下,默認是/usr/bin下的python解釋器,要使用faiss,需要切換python kernel到Anaconda環境下。需要給Jupyter Notebook配置多個IPython Kernel。

?

1)系統進入Anaconda解釋器環境下(配置PATH并source生效)

# 安裝ipykernel,命令

python -m pip install ipykernel

2)然后將Anaconda環境下的kernel安裝到jupyter中

命令如下,name自己命名

python -m ipykernel install --name python3.7

3)驗證

重啟jupyter notebook.

后臺啟動jupyter命令:

nohup jupyter notebook --allow-root > /data/tmpexec/jupyter/jupyter.log 2>&1 &

總結:為開發方便,保留原python解釋器環境,對于新增Anaconda環境,采用兼容方式,在jupyter notebook中配置多個kernel來滿足生產。

6.jupyter開發測試

參考https://github.com/facebookresearch/faiss/wiki/Getting-started

?成功在python下開發faiss庫。

總結

以上是生活随笔為你收集整理的Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。