我們知道在開源和貢獻(xiàn)開源方面,Google 一直是行業(yè)的典范。2017 年它開源了哪些優(yōu)秀的軟件,有哪些值得我們借鑒學(xué)習(xí)呢?讓我們一起來看下:
1、硬件加速的機(jī)器學(xué)習(xí) JavaScript 庫 DeepLearn.js
DeepLearn.js 是 Google 推出的一個(gè)可用于機(jī)器智能并加速WebGL的開源JavaScript庫,完全在瀏覽器中運(yùn)行,不需要安裝,不需要后端處理。
2、大型微服務(wù)系統(tǒng)管理工具 Istio
Istio 是一個(gè)由谷歌、IBM 與 Lyft 共同開發(fā)的開源項(xiàng)目,旨在提供一種統(tǒng)一化的微服務(wù)連接、安全保障、管理與監(jiān)控方式。Istio 項(xiàng)目能夠?yàn)槲⒎?wù)架構(gòu)提供流量管理機(jī)制,同時(shí)亦為其它增值功能(包括安全性、監(jiān)控、路由、連接管理與策略等)創(chuàng)造了基礎(chǔ)。這款軟件利用久經(jīng)考驗(yàn)的 Lyft Envoy 代理進(jìn)行構(gòu)建,可在無需對應(yīng)用程序代碼作出任何發(fā)動的前提下實(shí)現(xiàn)可視性與控制能力。Istio 項(xiàng)目是一款強(qiáng)大的工具,可幫助 CTO/CIO 們立足企業(yè)內(nèi)部實(shí)施整體性安全、政策與合規(guī)性要求。
Python Fire 是 Google 開源的一個(gè)可從任何 Python 代碼自動生成命令行接口(CLI)的庫。
簡易示例:
import fire
classCalculator(object):
"""A simple calculator class."""
def double(self,number):
return2 * number
if__name__ == '__main__':
fire.Fire(Calculator)
然后,你可以運(yùn)行:
python calculator.py double10# 20
python calculator.py double --number=15# 30
4、谷歌深度學(xué)習(xí)庫TensorFlow Fold
TensorFlow Fold 是用于創(chuàng)建使用結(jié)構(gòu)化數(shù)據(jù)的 TensorFlow 模型庫,其中計(jì)算圖的結(jié)構(gòu)取決于輸入數(shù)據(jù)的結(jié)構(gòu)。
TensorFlow Fold 使得處理不同數(shù)據(jù)尺寸和結(jié)構(gòu)的深度學(xué)習(xí)模型更容易實(shí)現(xiàn)。Fold 實(shí)現(xiàn)動態(tài)批處理,變換任意形狀的計(jì)算圖形的批次以產(chǎn)生靜態(tài)計(jì)算圖形。 該圖具有相同的結(jié)構(gòu),而不管其接收到什么輸入,并且可以通過 TensorFlow 有效地執(zhí)行。
5、Go 運(yùn)行 Python:Grumpy
Grumpy 是一個(gè) Python to Go 源代碼翻譯編譯器和運(yùn)行時(shí),旨在替代 CPython 2.7。
關(guān)鍵的區(qū)別是它將 Python 源代碼編譯為 Go 源代碼,然后將其編譯為本機(jī)代碼,而不是字節(jié)碼。這意味著 Grumpy 沒有 VM。編譯的 Go 源代碼是對 Grumpy 運(yùn)行時(shí)的一系列調(diào)用,Go 庫服務(wù)與 Python C API 類似的目的(盡管不直接支持 C API)。
6、基于 TensorFlow 的神經(jīng)網(wǎng)絡(luò)庫 Sonnet
Sonnet 庫使用面向?qū)ο蟮姆椒ǎ试S創(chuàng)建定義一些前向傳導(dǎo)計(jì)算的模塊。模塊用一些輸入 Tensor 調(diào)用,添加操作到圖里并返回輸出 Tensor。其中一種設(shè)計(jì)選擇是通過在隨后調(diào)用相同的模塊時(shí)自動重用變量來確保變量分享被透明化處理。
7、控制 headless Chrome 的 Node.js API :Puppeteer
Puppeteer 是一個(gè)控制 headless Chrome 的 Node.js API 。它是一個(gè) Node.js 庫,通過DevTools 協(xié)議提供了一個(gè)高級的 API來控制headlessChrome。它還可以配置為使用完整的(非 headless)Chrome。
8、圖像算法工具 Guetzli
Guetzli,在瑞士德語中是“cookie(曲奇)”的意思,是一個(gè)針對數(shù)碼圖像和網(wǎng)頁圖像的 JPEG 編碼器,能夠通過產(chǎn)生更小的 JPEG 文件來達(dá)到更快的在線體驗(yàn),并且同時(shí)保持與當(dāng)前瀏覽器,圖像處理應(yīng)用和 JPEG 標(biāo)準(zhǔn)的兼容性。Google 稱Guetzli 創(chuàng)建高質(zhì)量的 JPEG 圖像文件的大小比當(dāng)前的壓縮方法要再小 35%。
9、Google 開源機(jī)器學(xué)習(xí)數(shù)據(jù)集可視化工具 Facets
Facets 是 Google 開源的一款可視化工具,幫助理解、分析和調(diào)試 ML 數(shù)據(jù)集。
Facets 包含兩個(gè)部分 —— Facets Overview 和 Facets Dive ,允許用戶以不同的粒度查看其數(shù)據(jù)的整體圖像。Facets Overview 可用于可視化數(shù)據(jù)的每一個(gè)特征,F(xiàn)acets Dive 用來探索個(gè)別的數(shù)據(jù)觀察集。
10、機(jī)器學(xué)習(xí)工具庫Kubeflow
Kubeflow 是谷歌發(fā)布的一個(gè)機(jī)器學(xué)習(xí)工具庫,Kubeflow 項(xiàng)目旨在使 Kubernetes 上的機(jī)器學(xué)習(xí)變的輕松、便捷、可擴(kuò)展,其目標(biāo)不是重建其他服務(wù),而是提供一種簡便的方式找到最好的 OSS 解決方案。該庫包含包含的清單用于創(chuàng)建:
用于創(chuàng)建和管理交互式 Jupyter notebook 的 JupyterHub
可配置為使用 CPU 或 GPU,并通過單一設(shè)置調(diào)整至單個(gè)集群大小的 TensorFlow 訓(xùn)練控制器(Tensorflow Training Controller)
TF 服務(wù)容器(TF Serving container)
11、游戲狀態(tài)自動管理框架BOARDGAME.IO
BOARDGAME.IO 是 Google 開源的一個(gè)游戲框架,旨在允許游戲作者將游戲規(guī)則從本質(zhì)上轉(zhuǎn)化為一系列簡單的函數(shù),這些函數(shù)用于描述當(dāng)一個(gè)指定動作發(fā)生時(shí)游戲的狀態(tài)變化,框架負(fù)責(zé)處理表述性狀態(tài)傳遞。 無需再手動編寫任何網(wǎng)絡(luò)或后端代碼。
12、開源量子軟件OpenFermion
OpenFermion 是一個(gè)開源的軟件,用于編譯和分析量子算法來模擬費(fèi)米子系統(tǒng),包括量子化學(xué),在其他功能中,當(dāng)前版本的特征是用數(shù)據(jù)結(jié)構(gòu)和工具獲取和操縱費(fèi)米子和量子位哈密頓算子的表示。
-
Google
+關(guān)注
關(guān)注
5文章
1766瀏覽量
57613 -
開源項(xiàng)目
+關(guān)注
關(guān)注
0文章
38瀏覽量
7209
原文標(biāo)題:開源巨獻(xiàn):2017 年 Google 開源了這些超贊的項(xiàng)目
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論