欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Ubuntu >内容正文

Ubuntu

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

发布时间:2025/4/16 Ubuntu 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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相似性搜索工具的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。