当前位置: 首页 > news >正文

织梦做的网站后台登录成都网站设计制作

织梦做的网站后台登录,成都网站设计制作,深圳台历制作,手机网站模板psdFaiss入门篇假定Faiss已经被安装#xff0c;若未安装可参考小编安装编译篇https://zhuanlan.zhihu.com/p/78689463。本篇小编基于Faiss的官方wiki实例展开#xff0c;旨在让大家快速入门Faiss。Faiss底层用c实现并为用户提供python接口#xff0c;本篇我们以python示例Faiss…Faiss入门篇假定Faiss已经被安装若未安装可参考小编安装编译篇https://zhuanlan.zhihu.com/p/78689463。本篇小编基于Faiss的官方wiki实例展开旨在让大家快速入门Faiss。Faiss底层用c实现并为用户提供python接口本篇我们以python示例Faiss用法,使用python接口前需要下载numpy包用于faiss向量加载。Faiss处理大规模d维向量近邻检索的问题Faiss中所有向量以行矩阵的形式储存和使用实例中我们用xb表示所有待索引的向量集合 xq表示查询向量集合nb和nq分别表示xb、xq集合中向量数量。构建待检索向量和查询向量import numpy as np d 64 # 向量维度 nb 100000 # 待索引向量size nq 10000 # 查询向量size np.random.seed(1234) # 随机种子确定 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.建立索引并添加向量Faiss通过Index对象进行向量的封装与预处理Faiss提供了很多种索引类型我们首先test暴力搜索精准L2距离搜索对应的索引对象为IndexFlatL2。所有向量在建立前需要明确向量的维度d大多数的索引还需要训练阶段来分析向量的分布。但是对于L2暴力搜索来说没有训练的必要。Index对象训练好之后对于Index有两个操作供调用分别为add和search。add方法用于向Index中添加xb向量search方法用于在add向量后的索引中检索xq的若干近邻。Index还有两个状态变量is_trained(bool类型用于指示index是否已被训练)和ntotal(指示索引的数量)。此外index还有IDs添加的方法。import faiss index faiss.IndexFlatL2(d) # 建立索引 print(index.is_trained) # 输出true index.add(xb) # 索引中添加向量 print(index.ntotal) # 输出100000近邻搜索通过Index检索xq中的数据faiss支持批量数据检索通过search方法返回的检索结果包括两个矩阵分别为近邻向量的索引序号和xq中元素与近邻的距离大小。k 4 # 返回每个查询向量的近邻个数 D, I index.search(xb[:5], k) # 检索check print(I) print(D) D, I index.search(xq, k) #xq检索结果 print(I[:5]) # 前五个检索结果展示 print(I[-5:]) # 最后五个检索结果展示检索结果check检索结果[[ 0 393 363 78] [ 1 555 277 364] [ 2 304 101 13] [ 3 173 18 182] [ 4 288 370 531]][[ 0. 7.17517328 7.2076292 7.25116253] [ 0. 6.32356453 6.6845808 6.79994535] [ 0. 5.79640865 6.39173603 7.28151226] [ 0. 7.27790546 7.52798653 7.66284657] [ 0. 6.76380348 7.29512024 7.36881447]]xq检索结果[[ 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]]上面所示IndexFlatL2是暴力检索的索引为了加速检索speed可以使用faiss的IndexIVFFlat索引对象。IndexIVFFlat的使用需要进行训练阶段并需要指定其他索引作为量化器与检索相关的参数为nlist和nprobe。IndexIVFFlat索引先利用粗量化器将检索向量划分到Voronoi单元中并建立倒排索引检索阶段将根据输入向量和probe参数定位到对应的Voronoi cell中进行近邻搜素。IndexIVFFlat检索nlist 100 k 4 quantizer faiss.IndexFlatL2(d) # 量化器索引 index faiss.IndexIVFFlat(quantizer, d, nlist, faiss.METRIC_L2) # 指定用L2距离进行搜索若不指定默认为內积 assert not index.is_trained index.train(xb) # 索引训练 assert index.is_trained index.add(xb) # 向量添加 D, I index.search(xq, k) # 检索 print(I[-5:]) # 最后五个检索结果 index.nprobe 10 # 多探针检索 D, I index.search(xq, k) print(I[-5:]) #最后五个检索结果检索结果显示1probe[[ 9900 10500 9831 10808] [11055 10812 11321 10260] [11353 10164 10719 11013] [10571 10203 10793 10952] [ 9582 10304 9622 9229]]10probe[[ 9900 10500 9309 9831] [11055 10895 10812 11321] [11353 11103 10164 9787] [10571 10664 10632 9638] [ 9628 9554 10036 9582]]读者可自行观察测试各参数对检索结果的影响。本篇代码可以在faiss中的 tutorial/ 目录下查找。Referencehttps://github.com/facebookresearch/faiss/wiki本篇内容在本人个人公众号上也已发布欢迎关注本人微信公众号“勤菜鸟”。
http://www.zqtcl.cn/news/110268/

相关文章:

  • 怎么做非法彩票网站贵州网站开发哪家便宜
  • 青岛市医疗保险网站wordpress七牛云
  • 哪个浏览器可以做网站查询网站的外链
  • 浅析社区网站的建设有了网站源码 怎么建设网站
  • 苏州网站排名优化系统网页设计师
  • 网站开发定制推广杭州河南省的网页制作
  • 北京随喜设计网站国内好的seo网站
  • 网站中宣传彩页怎么做的网站建设评估及分析
  • 东莞php网站建设素材网站php程序源码
  • 怎么做免费视频网站模版网站可以做seo吗
  • 备案期间怎么做网站微动漫怎么制作
  • 精美的php个人网站源码公司网站建设方案书
  • 站长如何做视频类网站如何诊断网站
  • 个人怎么做网站优化在线做印章的网站
  • 自己做的小网站市场营销互联网营销
  • 程序员会搭建非法网站吗永久免费生成app网页
  • 重庆渝北做网站哪里便宜浙江建设职业学校网站
  • 移动端网站开发介绍品牌宣传网站
  • 做文案图片上什么网站seo具体优化流程
  • 摄影做网站中国电商公司排名
  • 比较好的平面设计网站国际进出口贸易网站
  • 网站集约化建设困难seo技术网网
  • 咸宁网站建设报价成都网站设计 冠辰
  • 织梦网站首页目录在哪里自己编写的网站如何放到wordpress
  • 检测网站为什么打不开了推广网站有哪些方式
  • 建设银行官方网站下载安装python可以做网站吗
  • 邢台好蜘蛛网站建设郑州市网络设计公司
  • 忻府网站建设手机上做网站
  • 长宁长沙网站建设域名网站
  • 太原自助建站系统公司网站建设合同书