搜索
文章平均质量分 78
搜索相关
uncle_ll
这个作者很懒,什么都没留下…
展开
-
深入解析HNSW:Faiss中的层次化可导航小世界图
向量数据库之HNSW算法原创 2024-07-17 23:00:00 · 1324 阅读 · 0 评论 -
乘积量化pq:将高维向量压缩 97%
向量快速搜索算法 pq量化原创 2024-07-14 17:26:49 · 1170 阅读 · 0 评论 -
LSH算法:高效相似性搜索的原理与Python实现II
lsh基于随机平面的实现原创 2024-07-02 23:30:00 · 1243 阅读 · 0 评论 -
相似性搜索揭秘:向量嵌入与机器学习应用
相似性搜索原创 2024-06-27 21:00:00 · 1410 阅读 · 0 评论 -
Faiss:选择合适的索引Index
faiss 如何选择索引原创 2024-06-20 23:00:00 · 1668 阅读 · 0 评论 -
Faiss:加速大规模数据相似性搜索的利器
Faiss介绍原创 2024-06-20 20:30:00 · 1157 阅读 · 0 评论 -
相似性搜索揭秘:向量嵌入与机器学习应用
相似性搜索原创 2024-06-18 09:03:12 · 1543 阅读 · 0 评论 -
相似背景搜索相关技术专利总结
相似背景搜索专利技术总结原创 2023-12-06 00:00:00 · 866 阅读 · 0 评论 -
微软:向量搜索和向量数据库
微软亚洲研究院关于向量数据库的相关工作原创 2023-07-29 20:59:27 · 390 阅读 · 0 评论 -
WhalePaper:可计算存储架构下的大规模近似最近邻搜索研究
可计算存储架构下的ANN搜索原创 2023-04-08 20:28:38 · 125 阅读 · 0 评论 -
向量检索:基于图索引的多向量检索及其GPU加速
加速向量距离计算过程,并行计算,百度的工作。IODE2022, 维护数据结构操作。不同角度或者不同的特征抽取器。原创 2023-03-11 09:55:06 · 325 阅读 · 0 评论 -
faiss-10: benchmarks-基准实验
最基本功能的实验基准 Low level benchmarks仅使用faiss的最基本功能获得一些实验基准数据。使用k-means方法将1百万个256维向量的数据集聚类为20000个类;使用k-means方法将95百万个128维向量的数据集聚类85000个类;实验中关注时间和精度的变化;faiss wiki:https://github.com/facebookresearch/faiss/wiki/Low-level-benchmarks检索 Indexing 1M vectors当数据原创 2022-02-10 23:00:00 · 978 阅读 · 0 评论 -
faiss-9: index进阶操作
下面介绍的方法只支持部分index类型从index中恢复出原始数据给定id,可以使用reconstruct或者reconstruct_n方法从index中回复出原始向量。支持下述几类index:IndexFlatIndexIVFFlat(需要与make_direct_map结合)IndexIVFPQIndexPreTransformimport sysimport numpy as np import faiss# 生成数据d = 16n_data = 500data = n原创 2022-02-10 21:00:00 · 2135 阅读 · 0 评论 -
faiss-8: 多种index混合
index可以合成使用数据准备import faissimport numpy as np d = 512 # 维数n_data = 2000 np.random.seed(0) data = []mu = 3sigma = 0.1for i in range(n_data): data.append(np.random.normal(mu, sigma, d))data = np.array(data).astype('float32')# qu原创 2022-02-09 22:30:00 · 993 阅读 · 0 评论 -
faiss-7: 基础索引类型
数据准备import faissimport numpy as np d = 512 # 维数# 向量集合n_data = 2000 np.random.seed(0) data = []mu = 3sigma = 0.1for i in range(n_data): data.append(np.random.normal(mu, sigma, d))data = np.array(data).astype('float32')# query 向原创 2022-02-09 22:00:00 · 815 阅读 · 0 评论 -
faiss-5: index前处理与后处理
在某些情形下,需要对Index做前处理或后处理ID映射默认情况下,faiss会为每个输入的向量记录一个次序id(1,2,3…,),在使用中也可以为向量指定任意需要的id。部分index类型有add_with_ids方法,可以为每个向量对应一个64-bit的id,搜索的时候返回这个指定的id。# 导入faissimport sysimport faissimport numpy as np # 生成数据和idd = 512n_data = 2000data = np.random.ra原创 2022-02-08 23:30:00 · 1247 阅读 · 0 评论 -
faiss-6: 索引I/O操作
所有的函数都是深复制,不需要关系对象关系读写操作import faiss# 写到本地文件faiss.write_index(index, "index_file.index") # 将index保存为index_file.index文件# 读到本地文件index = faiss.read_index("index_file.index") # 读入index_file.index文件复制# 完全复制一个indexindex_new = faiss.clone_index(inde原创 2022-02-08 23:45:00 · 1542 阅读 · 0 评论 -
faiss-4:选择合适的index类型
选择index类型并没有一套精准的法则可以依据,需要根据自己的实际情况选取。下面的几个问题可以作为选取index的参考:是否需要精确的结果如果需要,应选择使用Flat, 只有IndexFlatL2 能确保返回精确结果。一般将其作为baseline与其他索引方式对比,以便在精度和时间开销之间做权衡。但是Flat方式不支持add_with_ids, 如果需要,可以使用IDMap, Flat ,支持GPU# 导入faissimport sysimport faissimport numpy原创 2022-02-08 23:00:00 · 771 阅读 · 0 评论 -
faiss-3: 基础模块
faiss中的索引基于几个基础算法构建,只不过在faiss中是一种高效的实现。分别是k-means聚类PCA降维PQ编码解码k-means聚类关于k-means聚类算法在之前的博客《OpenCV中的Kmeans聚类》中有介绍过,是一种无监督算法,自动的基于设定的聚类中心数进行聚类。# 导入faissimport sysimport faissimport numpy as np # 构建数据d = 512 # 维数n_data = 2000 np.random.see原创 2022-02-07 23:30:00 · 1678 阅读 · 0 评论 -
faiss-2: 快速入门
数据准备faiss可以处理固定维度d的向量集合,该集合用二维数组表示。 一般来说,需要两个数组:data:包含被索引的所有向量元素;query:索引向量,需要根据索引向量的值返回与向量集中的最近邻元素;为了对比不同索引方式的差别,在下面的例子中统一使用完全相同的数据,即维数d为512,data包含2000个向量,每个向量符合正态分布。注意faiss需要向量数组中的元素都是32位浮点数格式, datatype = 'float32'制作向量集合数据import numpy as原创 2022-02-07 21:00:00 · 2695 阅读 · 0 评论 -
faiss-1: 安装
faiss安装git项目的安装教程:https://github.com/facebookresearch/faiss/blob/main/INSTALL.md使用Anaconda安装使用Anaconda安装使用faiss是最方便快速的方式,facebook会及时推出faiss的新版本conda安装包,在conda安装时会自行安装所需的libgcc, mkl, numpy模块。faiss的cpu版本目前仅支持Linux和MacOS以及Windows操作系统,gpu版本提供可在Linux操作系统原创 2022-01-14 23:00:00 · 3397 阅读 · 0 评论 -
最近邻搜索|Nearest neighbor search
维基百科:https://en.wikipedia.org/wiki/Nearest_neighbor_search觉得整理的挺好,翻译最近邻搜索( NNS ) 作为**邻近搜索(proximity search)**的一种形式,是在给定集合中找到与给定点最接近(或最相似)的点的优化问题(optimization problem)。相似度通常用不相似函数表示:对象越不相似,函数值越大。形式上,最近邻(NN)搜索问题定义如下:给定空间M中的一组点S和查询点q ∈ M,找到S 中与q的最近点。唐纳德·.原创 2022-01-13 18:41:21 · 6271 阅读 · 0 评论 -
PP-ShiTu: A Practical Lightweight Image Recognition System
最近看了一个新的分享,关于图像识别的,对于大规模图像搜索以及新物品频繁情况下表现良好。论文: https://arxiv.org/abs/2111.00775项目: https://github.com/PaddlePaddle/PaddleClasAbstract近年来,图像识别的应用发展迅速。在人脸识别、行人和车辆再识别、地标检索和产品识别等不同的领域,已经出现了大量的研究和技术。在本文中,提出了一种实用的轻量级图像识别系统PP-ShiTu,由以下3个模块、主体检测、特征提取和向量搜索等模块原创 2021-11-17 14:32:38 · 5730 阅读 · 0 评论 -
Nmslib高维空间最近邻逼近搜索算法介绍
业务场景上一次介绍图像搜索的基本原理,现在记录下使用的数据包的问题。查询图片先进行特征提取,使用一个向量来表示,之后使用该向量与数据库中所有的商品向量进行计算相似度指标,比如cos距离,欧式距离,汉明距离。具体的取决于向量的形式,有的先用cnn提取特征向量,可以计算其cos距离,有的提取之后对其进行哈希编码,先用汉明距离进行粗排,之后按照欧式距离进行重排。这里就面临这样的一个问题:特征...原创 2019-04-15 19:57:55 · 5806 阅读 · 0 评论 -
图像搜索:以图搜图
以图搜图随着数字时代的到来,单单的文字搜素已经无法满足人们的搜索了,图像搜索,甚至是视频搜索都已经比较成熟。本文大致讲解下图像搜索:原理搜索项目:主要分为三个部分——图像特征抽取,构建搜素库,构建索引。第一步:就是选取好合适的图像特征抽取方法,传统的方法有各种图像处理的方法,比如hog直方图,小波过滤等方法提取特征,现有比较热门的深度学习方法,比如卷积神经网络等;根据实际情况进行合理选择...原创 2019-03-27 20:31:17 · 7330 阅读 · 0 评论 -
记一次使用百度云图像搜索功能 python sdk
记一次使用百度云图像搜索功能百度云也提供图像搜索业务,业务介绍地址:https://ai.baidu.com/tech/imagesearch/product提供三种服务:相同图像检索:搜索相同的图片;相似图像检索:搜索相似的图片;商品图像检索:搜索相似的图片,但相较于相似图片搜索会进行主体检测;开发文档文档地址:https://ai.baidu.com/docs#/IMA...原创 2019-03-20 20:06:14 · 1533 阅读 · 2 评论 -
记一次使用阿里云图像搜索功能 python sdk
记一次使用阿里云图像搜索功能阿里云提供的图像搜索业务,业务介绍地址:https://ai.aliyun.com/imagesearch?spm=5176.10695662.1280361.130.11a61e6d5n1K8L提供两种服务:商品图像搜索;通用图像搜索;开发文档文档地址:https://help.aliyun.com/document_detail/66616.h...原创 2019-03-20 19:26:37 · 2668 阅读 · 0 评论