Google open sourced these awesome projects in 2017

Google has always been a model for the industry. Which excellent software did it open source in 2017, and which ones are worth learning from? Let's take a look:

 

1. DeepLearn.js, a hardware-accelerated machine learning JavaScript library

DeepLearn.js is an open source JavaScript library launched by Google that can be used for machine intelligence and accelerate WebGL. It runs completely in the browser, does not require installation, and does not require back-end processing.

 

2. Istio, a large-scale microservice system management tool

Istio is an open source project jointly developed by Google, IBM and Lyft, aiming to provide a unified way to connect, secure, manage and monitor microservices. The Istio project provides a traffic management mechanism for microservices architectures, while also creating the foundation for other value-added features including security, monitoring, routing, connection management and policy, and more. Built with the proven Lyft Envoy proxy, the software provides visibility and control without any activation of application code. The Istio Project is a powerful tool that helps CTOs/CIOs implement holistic security, policy and compliance requirements within the enterprise.

 

3. Can automatically generate the command line interface Python Fire

Python Fire is a library open sourced by Google that automatically generates a command line interface (CLI) from any Python code.

Simple example:

Python code 
  1. import fire  
  2.   
  3. classCalculator(object):  
  4.   """A simple calculator class."""  
  5.   
  6.   defdouble(self, number):  
  7.     return 2 * number  
  8.   
  9. if __name__ == '__main__':  
  10.   fire.Fire(Calculator)  

 Then, you can run:

Python code 
  1. python calculator.py double 10  # 20  
  2. python calculator.py double --number=15  # 30  

 

4. Google's deep learning library TensorFlow Fold

TensorFlow Fold is a library for creating TensorFlow models that use structured data, where the structure of the computational graph depends on the structure of the input data.

TensorFlow Fold makes it easier to implement deep learning models that handle different data sizes and structures. Fold implements dynamic batch processing, transforming batches of arbitrary-shaped computational graphs to generate static computational graphs. The graph has the same structure regardless of the input it receives, and can be executed efficiently by TensorFlow.

 

5. Go runs Python: Grumpy

Grumpy is a Python to Go source code translation compiler and runtime designed to replace CPython 2.7.

The key difference is that it compiles Python source code to Go source code, and then compiles it to native code, not bytecode. This means that Grumpy has no VM. Compiled Go source code is a series of calls to the Grumpy runtime, and the Go library serves a similar purpose to the Python C API (though not directly supporting the C API).

 

6. Sonnet, a neural network library based on TensorFlow

The Sonnet library uses an object-oriented approach, allowing the creation of modules that define some forward pass computations. The module is called with some input tensors, adds operations to the graph and returns output tensors. One of the design choices is to ensure that variable sharing is handled transparently by automatically reusing variables in subsequent calls to the same module.

 

7、控制 headless Chrome 的 Node.js API :Puppeteer

Puppeteer 是一个控制 headless Chrome 的 Node.js API 。它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headless Chrome。它还可以配置为使用完整的(非 headless)Chrome。

 

8、图像算法工具 Guetzli

Guetzli,在瑞士德语中是“cookie(曲奇)”的意思,是一个针对数码图像和网页图像的 JPEG 编码器,能够通过产生更小的 JPEG 文件来达到更快的在线体验,并且同时保持与当前浏览器,图像处理应用和 JPEG 标准的兼容性。Google 称 Guetzli 创建高质量的 JPEG 图像文件的大小比当前的压缩方法要再小 35%。

 

9、Google 开源机器学习数据集可视化工具 Facets

Facets 是 Google 开源的一款可视化工具,帮助理解、分析和调试 ML 数据集。

Facets 包含两个部分 —— Facets Overview 和 Facets Dive ,允许用户以不同的粒度查看其数据的整体图像。Facets Overview 可用于可视化数据的每一个特征,Facets Dive 用来探索个别的数据观察集。

 

10、机器学习工具库 Kubeflow

Kubeflow 是谷歌发布的一个机器学习工具库,Kubeflow 项目旨在使 Kubernetes 上的机器学习变的轻松、便捷、可扩展,其目标不是重建其他服务,而是提供一种简便的方式找到最好的 OSS 解决方案。该库包含包含的清单用于创建:

  • 用于创建和管理交互式 Jupyter notebook 的 JupyterHub

  • A Tensorflow Training Controller that can be configured to use CPU or GPU and scaled to a single cluster size with a single setup

  • TF Serving container

11. Game state automatic management framework BOARDGAME.IO

BOARDGAME.IO is a game framework open sourced by Google, designed to allow game authors to essentially transform game rules into a series of simple functions that describe the state changes of the game when a specified action occurs, and the framework is responsible for processing the representation Sexual state transfer. No need to manually write any network or backend code anymore.

 

12. Open source quantum software OpenFermion

OpenFermion is an open source software for compiling and analyzing quantum algorithms to simulate fermion systems, including quantum chemistry, among other functions, the current version features the acquisition and manipulation of fermions and qubit Hamiltonians with data structures and tools child representation.

 

 

 

http://www.iteye.com/news/32897

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326239100&siteId=291194637