【GitHub】条件查询精确找到自己真正需要的开源项目

【GitHub】条件查询查找开源项目

​笔记内容来源: 《如何高效地在网上找开源项目做》,作者:B站Up主 ​CodeSheep

很多同学朋友,在比较系统的学习完相关知识点之后急需一些对学习内容针对性比较强的项目来练手熟悉,我当初就放着项目资源丰富的GitHub,四处找自己需要的项目,不会对GitHub社区进行高效的搜索,挖出适合自己练手,学习的实战项目。

一、项目描述内容筛选in:

根据项目的介绍内容(如标题name,描述description,Readme介绍文档)进行筛选:

  • in:name 关键字(注意!中间有空格隔开)
  • in:description 关键字(注意!中间有空格隔开)
  • in:readme 关键字(注意!中间有空格隔开)
筛选条件含义
in:name根据项目名称关键字进行筛选
in:description根据项目描述关键字进行筛选(推荐)
in:readme根据项目Readme文档内容关键字进行筛选(推荐)

二、项目热度筛选

GitHub上一般通过 Stars数 以及 Forks数 反映该项目的火热程度。很少人说好的项目,它有可能不好,但很多人叫好的项目,它一定不会坏到哪里去。
因此我们也可以通过限制 Stars 和 Forks的数量区间来进一步筛选我们想要的项目。

筛选条件含义
stars:(区间)根据所输入的 stars区间 进行筛选
forks:(区间)根据所输入的 forks区间 进行筛选

注意:此时冒号和数字区间之间没有空格,切记,有空格筛选条件不生效。

三、其他

筛选条件含义
language:(编程语言)根据编程语言进行筛选
pushed:(时间区间)根据所输入的 最新更新时间区间 进行筛选

组合查询例子

最后给出一个比较具体的组合查询的例子,其他有趣的查询条件就供大家探索了。

in:readme Spring Security language:java stars:>1000 pushed:>2019-11-11

查询条件描述:

  • 筛选出readme文档中包含Spring Security的项目
  • 编程语言为:Java
  • Stars星数大于1000
  • 项目仓库最新更新时间要求:在2019-11-11之后有更新

大家可以在前往GitHub 试试手,找到真正自己喜欢、合适的项目实战~

如果有欠缺一些内容,欢迎评论指出,我尽早查看并对文章内容进行及时的更新和丰富。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在用户日常搜索过程中,一个经常出现的问题即大多数返回的网站结果拥有完全相同或者几乎一样的信息。而应用了相似性搜索的相似引擎即可为用户返回最恰当、最合适的结果,同时隐藏或者丢弃那些重复的数据。但是,目前相似性搜索领域需要克服的难题即它的规模和运行速度。据报道,Facebook的人工智能研究团队就称已在该问题上取得了重要进展。Facebook在新发布的论文《Billion-scale similarity search with GPUs》中表示,可在GPU 上实现十亿规模级的相似性搜索,并且已开源该方法。在处理图像或视频等复杂数据时会涉及专用数据库系统,而相似性搜索(similarity search)则可以在专用数据库系统中找寻应用。但问题是,这些复杂数据通常用高维特征表示,而且需要特定的索引结构。因此,Facebook的研究人员就通过更好地利用 GPU的优势解决了这个问题 。尽管 GPU 擅长数据并行任务,但之前的方法要么会在并行性不高的算法(如 k-min selection)上遭遇瓶颈,要么不能有效利用内存的层次结构。为此雷锋网了解到,他们提出一种可用于k-selection的新设计,使其能以高达性能理论峰值55% 的速度进行运算,并实现了比之前最佳的 GPU 方法快 8.5 倍的最近邻搜索。他们为以积量化(product quantization)为基础的暴力计算、近似和压缩域搜索提出优化设计,从而将其应用到不同的相似性搜索场景中。在所有这些场景中,该方法比之前的方法的最佳表现还要好,它可在 35 分钟内从 Yfcc100M 数据集的 9500 万张图像上构建一个高准确度的 k-NN 图,也可以在 12 个小时内在 4 个 Maxwell Titan X GPU 上构建一个连接了 10 亿个向量的图。现在Facebook已将该方法(Faiss)开源,使大家能进行比较和重复利用。概括的说,该论文的主要突破有:给出一个可在GPU上运行的k-selection算法。它可在快速寄存奇储器中运行,并且其灵活性能使它能与其他内核一起使用。对此我们给出了复杂性分析;在GPU上实现的为精确和近似的k最近邻搜索的近最优算法布局;通过一系列实验表明,在单一或多GPU配置中运行的中到大规模的最近邻搜索任务上,我们的方法大幅度优于先前技术。图片选自论文(图片6):从 Yfcc100M 数据集的 9500 万张图像上构建的高准确度 k-NN 图。第一张和最后一张图片为给定图片,算法通过计算得出两张图片之间最“和谐”的演变路径。开源库Faiss简介Faiss 是用于有效的相似性搜索(similarity search)和稠密矢量聚类(clustering of dense vectors)的库。它包含了可在任何大小向量集合里进行搜索的算法,向量集合的大小甚至可达到RAM容纳不下的地步。另外,它还包含了用于评估和参数调优的支持代码。Faiss 用 C 编写,有 Python / numpy 的完整包装。其中最有用的一些算法则在 GPU 上实现。Faiss 包含几种相似性搜索的方法。它假定示例可以被表示为向量,并可以通过整数识别。除此之外,这些向量可以与 L2 位距或点积进行比较。与一个查询向量(query vector)相似的向量是具有最低 L2 位距或最高点积的查询向量。Faiss 还支持余弦相似性(cosine similarity),因为它属于标准化向量上的点积。大多数方法,例如基于二元向量和紧凑量化代码的方法,仅使用向量的压缩表征,并不需要保留原始向量。这通常会降低搜索的准确性,但这些方法可在单个服务器上的主存储器中扩展到数十亿个向量。该 GPU 实现可接受来自 CPU 或 GPU 内存的输入。在一个带有 GPU 的服务器上,其 GPU 索引可以被用作其 CPU 索引的插入替换(比如用 GpuIndexFlatL2 替代 IndexFlatL2),而且来自或发往 GPU 内存的副本可以被自动处理。Faiss的构建该库基本上通过 C 实现。它带有可选择的 GPU (该GPU通过CUDA支持)以及一个可选的 Python 接口。编译采用的是Makefile。详细信息可参见INSTALL:https://github.com/facebookresearch/faiss/blob/master/INSTALLFaiss的工作原理Faiss 是围绕存储一个向量集的索引类型(index type)构建的,并且索引类型提供了一个利用 L2 和/或点积向量比较的函数,以使该函数能够在向量集中进行搜索。有些索引类型是简单的基线,如精确搜索。大多数可用的索引结构都对应以下几点权衡:搜索时间搜索质量每个索引向量使用的内存大小训练

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值