Faiss(一)基础介绍及安装

Faiss是一个用于稠密向量相似性搜索和聚类的库,支持L2距离和点积比较。它可以处理大规模向量集合,并在CPU和GPU上运行。介绍了Faiss的基本原理、安装方法,包括Anaconda和Pycharm中的安装步骤,以及GPU支持的情况。
摘要由CSDN通过智能技术生成

Faiss

Faiss是用于稠密向量相似搜索和聚类的高效检索算法库,可以检索任意大小的向量集合。Faiss还包含了用于评估和参数微调的代码。由C++实现,但提供了完整的Python接口。多数高效有用的算法在GPU上实现,当然,CPU上也可使用Faiss。

Introduction

Faiss包含了几种相似搜索的方法。它假定实例被表示为向量并用整数标志向量身份,向量之间可以通过L2距离或点积进行比较,L2距离最小的或者点积值最大的向量被认定为与查询向量最相似的向量。除了L2距离和点积,也支持余弦相似度。

像基于二进制向量和紧凑量化编码等方法并不要求必须使用原始向量,可以使用向量的压缩表示,这会损失一定的精确度,但它可以应用到亿万级别数量的向量搜索中,因为可以减少内存消耗。其他像HNSW和NSG等方法,是通过在原始向量上添加索引结构的方式提高搜索效率。

Faiss在GPU上运行,可以接受来自GPU和CPU内存的输入。在有GPU的服务器上,GPU索引可以替代CPU索引(比如,用GpuIndexFlatL2代替IndexFlatL2),而且GPU内存的拷贝是自动处理的。当然,输入输出都在GPU中时速度会更快,支持单gpu和多gpu的使用。

Faiss工作方式

Faiss在被添加了索引的向量集中查询向量,提供了一个函数,通过向量之间的L2距离或点积进行相似搜索。Faiss有多种索引类型,精确搜索等索引是简单的基准,大部分索引结构都在搜索时间、精确度、内存等方面进行了权衡。

Installing

(1)Anaconda上的安装(官网上安装方式)

faiss-cpu仅支持CPU

conda install -c pytorch faiss-cpu 
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值