Faiss 安装与配置(最新)

Faiss 简介

Faiss 是一个用于高效相似性搜索和密集向量聚类的库。它包含在任意大小的向量组中搜索的算法,直到可能不适合 RAM 的向量组。它还包含用于评估和参数调整的支持代码。

Faiss 是用 C++ 编写的,带有完整的 Python 包装器(版本 2.0+ 和 3.0+)。一些最有用的算法是在 GPU 上实现的。它由Facebook AI Research开发。

相关链接:

开始

1. 安装faiss

推荐使用Anaconda安装,如果你的电脑上还未安装与配置Anaconda环境,请先安装Anaconda。

cpu版本:

conda install -c pytorch faiss-cpu

gpu版本

conda install -c pytorch faiss-gpu
2. 安装pytorch

cpu版本:

conda install pytorch torchvision torchaudio cpuonly -c pytorc

gpu版本的pytorch安装需要根据本机或者服务器的操作系统cuda版本进行选择,具体选择可参考官网链接,以下以linux操作系统cuda10.1版本为例:

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch

3. 安装Jupyter-Lab(自选)

为方便后续的代码调试,我推荐你安装jupyter-lab,如果你还不会在服务器上配置jupyter-lab,可以点击这里查看配置教程。

以下任选一种安装即可:

conda安装:

conda install -c conda-forge jupyterlab

pip安装

pip install jupyterlab

测试

参照官方示例,运行以下代码:

import numpy as np
d = 64                           # dimension
nb = 100000                      # database size
nq = 10000                       # nb of queries
np.random.seed(1234)             # make reproducible
xb = np.random.random((nb, d)).astype('float32')
xb[:, 0] += np.arange(nb) / 1000.
xq = np.random.random((nq, d)).astype('float32')
xq[:, 0] += np.arange(nq) / 1000.

import faiss                   # make faiss available
index = faiss.IndexFlatL2(d)   # build the index
print(index.is_trained)
index.add(xb)                  # add vectors to the index
print(index.ntotal)

k = 4                          # we want to see 4 nearest neighbors
D, I = index.search(xb[:5], k) # sanity check
print(I)
print(D)
D, I = index.search(xq, k)     # actual search
print(I[:5])                   # neighbors of the 5 first queries
print(I[-5:])                  # neighbors of the 5 last queries

若出现以下结果,恭喜你,faiss的基本安装已经完成!

[[  0 393 363  78]
 [  1 555 277 364]
 [  2 304 101  13]
 [  3 173  18 182]
 [  4 288 370 531]]
[[0.        7.1751738 7.20763   7.2511625]
 [0.        6.3235645 6.684581  6.799946 ]
 [0.        5.7964087 6.391736  7.2815123]
 [0.        7.2779055 7.527987  7.6628466]
 [0.        6.7638035 7.2951202 7.3688145]]
[[ 381  207  210  477]
 [ 526  911  142   72]
 [ 838  527 1290  425]
 [ 196  184  164  359]
 [ 526  377  120  425]]
[[ 9900 10500  9309  9831]
 [11055 10895 10812 11321]
 [11353 11103 10164  9787]
 [10571 10664 10632  9638]
 [ 9628  9554 10036  9582]]
  • 13
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值