在开源和贡献开源方面,Google 一直是行业的典范。2017年,Google 在 GitHub 上大约有 900 名活跃用户,共推送约 1100 个顶级库。
Google 开源了许多非常有价值的项目比如十分流行的机器学习系统 TensorFlow ,Web 前端框架 Angular,比如 Kubernetes 等。下面一起来看看在过去的一年里,Google 又开源了哪些有价值的项目。
1、Puppeteer Star 26.9K
Puppeteer 是一个控制 headless Chrome 的 Node.js API 。它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headless Chrome。它还可以配置为使用完整的(非 headless)Chrome。
在浏览器中手动完成的大多数事情都可以通过使用 Puppeteer 完成,如生成屏幕截图和 PDF 页面、检索 SPA 并生成预渲染内容(即“SSR”)、从网站上爬取内容等
2、图像算法工具 Guetzli Star 10.8K
Guetzli 是一款 JPEG 编码器,其目标是在高视觉质量下实现出色的压缩能力。Guetzli 生成的图像通常比由 libjpeg 生成的同等质量的图像小 20-30%。并且它还能提供更快的解压缩速度,Guetzli 仅生成非渐进式的 JPEG。
3、机器学习数据集可视化工具 Facets Star3.8K
Facets 是 Google 开源的一款可视化工具,帮助理解、分析和调试 ML 数据集。
Facets 包含两个部分 —— Facets Overview 和 Facets Dive ,允许用户以不同的粒度查看其数据的整体图像。Facets Overview 可用于可视化数据的每一个特征,Facets Dive 用来探索个别的数据观察集。
4、Go 运行 Python:Grumpy Star 8.7K
Grumpy 是一个 Python to Go 源代码翻译编译器和运行时,旨在替代 CPython 2.7。关键的区别在于它将 Python 源代码编译为Go源代码,然后将其编译为本地代码,而不是字节码。这意味着 Grumpy 没有虚拟机。编译后的Go源代码是对Grumpy运行时的一系列调用,Go 库是用于与 Python C API 类似的目的(尽管 API 与 CPython 不兼容)。
5、可自动生成命令行接口 Python Fire Star 8.5K
Python Fire 是 Google 开源的一个可从任何 Python 代码自动生成命令行接口(CLI)的库。
● Python Fire 是一种在 Python 中创建 CLI 的简单方法。
● Python Fire 是开发和调试 Python 代码的有用工具。
● Python Fire 帮助探索现有代码或将其他人的代码转换为CLI。
● Python Fire 使 Bash 和 Python 之间的转换更容易。
● 通过使用你需要导入和创建的模块和变量来设置 REPL,使得使用 Python REPL 更简便。
6、JavaScript 库 DeepLearn.js Star 6.4K
deeplearn.js 最初由 Google Brain PAIR 开发,是一款基于硬件加速的开源 JavaScript 库,可被用在机器智能领域。该库将高性能的机器学习构建模块引入到web开发领域。deeplearn.js 提供高效的机器学习构建模块,使我们能够在浏览器中训练神经网络或在推断模式中运行预训练模型。它提供构建可微数据流图的 API,以及一系列可直接使用的数学函数。
7、基于 TensorFlow 的神经网络库 Sonnet Star 6.1K
sonnet是一个能在 TensorFlow 上快速创建神经网络模块的高级框架。Sonnet 走的是面向对象(object-oriented)的路子,与 Torch/NN 类似,使得定义某些运算前馈通路(forward pass)的模块能够被创建出来。模块使用输入 Tensor 来调用,这向计算图(Graph)添加任务,并返回输出 Tensor。其中一项设计目标,是确保以透明的方式进行变量分享。这是通过对同个模块接下来的调用,自动重复使用变量来实现。
8、大型微服务系统管理工具 Istio Star 6K
Istio 开源平台,其本质上是一个服务网络,可用来部署服务网络,其中包括负载均衡、服务认证和监控等工具,从而可以更轻松安全地管理微服务(microservices)。该平台最先将运用在 Kubernetes 上。
谷歌、IBM 和 Lyft 推出 Istio 平台的目的就在于,帮助开发者和 DevOps 专业人员管理和保护其基于微服务的应用程序。、
9、C++ 标准库的扩充库 Abseil Star3.8K
Abseil 已在 Google 历经十多年的开发,由 Google 的基础 C ++ 和 Python 代码库组成,它的目的是为Protocol Buffers、gRPC 和 TensorFlow 等这些项目的开发人员提供支持。
Abseil 目前开放的 C++ 标准库的扩充库,是从 Google 内部 C ++ 代码库抽取出来的基础库的合集。这些库在 Google 内部经过广泛的测试和生产使用,是 Google 大量运行内容的基石。查阅看多 Abseil 详情可点击:《【新开源报道 9】Google开源Abseil,为C++和Python开发提供支持》
10、机器学习工具库 Kubeflow Star 2.6K
Kubeflow 是谷歌发布的一个机器学习工具库,致力于使运行在 Kubernetes 上的机器学习变的更轻松、便捷和可扩展;Kubeflow 的目标不是重建其他服务,而是提供一种简便的方式找到最好的 OSS 解决方案。
11、游戏框架 BOARDGAME.IO Star 5.7K
BOARDGAME.IO 是 Google 开源的一个游戏框架,旨在允许游戏作者将游戏规则从本质上转化为一系列简单的函数,这些函数用于描述当一个指定动作发生时游戏的状态变化,框架负责处理表述性状态传递。 无需再手动编写任何网络或后端代码。
12、Docker 镜像差异分析工具 container-diff Star 1.6K
container-diff 是 Google 开源的一个分析和比较容器镜像的工具,可用来分析 Docker 镜像之间的差异。可通过以下几个不同的标准(角度)来检查镜像:
● Docker 镜像历史
● 镜像文件系统
● Apt 包管理器
● pip 包管理器
● npm 包管理器
这些分析可以在单个镜像上执行,也可以在两个镜像上进行执行比较。该工具可以帮助用户更好地理解他们的镜像内部正在发生的变化,并让他们更好地了解他们的镜像所包含的内容。查看更多 container-diff 详情可点击:《Google 开源 Docker 镜像差异分析工具 container-diff》
13、谷歌深度学习库 TensorFlow Fold Star 1.4K
TensorFlow Fold 是用于创建使用结构化数据的 TensorFlow 模型库,其中计算图的结构取决于输入数据的结构。
上图的动画展示了一个利用动态批处理运行的递归神经网络。相同颜色的操作被划分到同一次批处理中,这使得 TensorFlow 能够更高效地运行。其中Embed操作负责将单词转换为向量表示,FC(完全连接,Fully Connected)操作负责将单词向量组合为短语的向量。该网络最后的输出是一个完整句子的向量表示。虽然这里只展示了一个针对单一语句的解析树,但实际上该网络可以在任意形状和大小的多个解析树上并行地进行动态批处理。
14、开源量子软件 OpenFermion Star 381
OpenFermion 是一个开源项目,用于编译和分析量子算法来模拟费米子体系,包括量子化学,在其他功能中,当前版本的特征是利用数据结构和工具来获取和操纵费米子和量子位哈密顿算子的表示。
本文分享自 交互设计前端开发与后端程序设计 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!