2017 年 Google 開源了這些超讚的專案
(點選上方公眾號,可快速關注)
來源:開源中國編輯部
my.oschina.net/editorial-story/blog/1622423
我們知道在開源和貢獻開源方面,Google 一直是行業的典範。2017 年它開源了哪些優秀的軟體,有哪些值得我們借鑑學習呢?讓我們一起來看下:
1、硬體加速的機器學習 JavaScript 庫 DeepLearn.js
DeepLearn.js 是 Google 推出的一個可用於機器智慧並加速 WebGL 的開源 JavaScript 庫,完全在瀏覽器中執行,不需要安裝,不需要後端處理。
2、大型微服務系統管理工具 Istio
Istio 是一個由谷歌、IBM 與 Lyft 共同開發的開源專案,旨在提供一種統一化的微服務連線、安全保障、管理與監控方式。Istio 專案能夠為微服務架構提供流量管理機制,同時亦為其它增值功能(包括安全性、監控、路由、連線管理與策略等)創造了基礎。這款軟體利用久經考驗的 Lyft Envoy 代理進行構建,可在無需對應用程式程式碼作出任何發動的前提下實現可視性與控制能力。Istio 專案是一款強大的工具,可幫助 CTO/CIO 們立足企業內部實施整體性安全、政策與合規性要求。
3、可自動生成命令列介面 Python Fire
Python Fire 是 Google 開源的一個可從任何 Python 程式碼自動生成命令列介面(CLI)的庫。
簡易示例:
import fire
class Calculator(object):
"""A simple calculator class."""
def double(self, number):
return 2 * number
if __name__ == '__main__':
fire.Fire(Calculator)
然後,你可以執行:
python calculator.py double 10 # 20
python calculator.py double --number=15 # 30
4、谷歌深度學習庫 TensorFlow Fold
TensorFlow Fold 是用於建立使用結構化資料的 TensorFlow 模型庫,其中計算圖的結構取決於輸入資料的結構。
TensorFlow Fold 使得處理不同資料尺寸和結構的深度學習模型更容易實現。Fold 實現動態批處理,變換任意形狀的計算圖形的批次以產生靜態計算圖形。 該圖具有相同的結構,而不管其接收到什麼輸入,並且可以通過 TensorFlow 有效地執行。
5、Go 執行 Python:Grumpy
Grumpy 是一個 Python to Go 原始碼翻譯編譯器和執行時,旨在替代 CPython 2.7。
關鍵的區別是它將 Python 原始碼編譯為 Go 原始碼,然後將其編譯為本機程式碼,而不是位元組碼。這意味著 Grumpy 沒有 VM。編譯的 Go 原始碼是對 Grumpy 執行時的一系列呼叫,Go 庫服務與 Python C API 類似的目的(儘管不直接支援 C API)。
6、基於 TensorFlow 的神經網路庫 Sonnet
Sonnet 庫使用物件導向的方法,允許建立定義一些前向傳導計算的模組。模組用一些輸入 Tensor 呼叫,新增操作到圖裡並返回輸出 Tensor。其中一種設計選擇是通過在隨後呼叫相同的模組時自動重用變數來確保變數分享被透明化處理。
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
可配置為使用 CPU 或 GPU,並通過單一設定調整至單個叢集大小的 TensorFlow 訓練控制器(Tensorflow Training Controller)
TF 服務容器(TF Serving container)
11、遊戲狀態自動管理框架 BOARDGAME.IO
BOARDGAME.IO 是 Google 開源的一個遊戲框架,旨在允許遊戲作者將遊戲規則從本質上轉化為一系列簡單的函式,這些函式用於描述當一個指定動作發生時遊戲的狀態變化,框架負責處理表述性狀態傳遞。 無需再手動編寫任何網路或後端程式碼。
12、開源量子軟體 OpenFermion
OpenFermion 是一個開源的軟體,用於編譯和分析量子演算法來模擬費米子系統,包括量子化學,在其他功能中,當前版本的特徵是用資料結構和工具獲取和操縱費米子和量子位哈密頓運算元的表示。
看完本文有收穫?請轉發分享給更多人
關注「程式設計師的那些事」,提升程式設計技能
相關文章
- 開源鉅獻:2017 年 Google 開源了這些超讚的專案Go
- 精選 | 6款超讚的最新AI開源專案!AI
- 這些年我開源的幾個小專案
- 2016 年穀歌開源了這些超酷炫的專案
- 這些年的專案管理心得專案管理
- 這些.NET開源專案你知道嗎?讓.NET開源來得更加猛烈些吧!
- 那些年的開源專案,你跑起來了嗎?
- 2017年30個驚豔的Python開源專案Python
- 不容錯過的30頁超讚專案管理PPT專案管理
- 2017 年 GitHub 中最為流行的 30 個開源機器學習專案Github機器學習
- 別找了,這就是你想要的年會抽獎開源專案
- 寫簡歷沒模板?別怕,這些開源專案幫你搞定!
- GPT-4 來了!這些開源的 GPT 應用又要變強了GPT
- 《Google 開源專案風格指南》中文版Go
- 運作開源專案的一些經驗
- 為了讓初學者有專案可入門,我整理了這23個開源專案……
- 2017年度GitHub上最熱門的開源專案Github
- 我參與 Seata 開源專案的一些感悟
- 國內一些大公司的開源專案
- 推薦十款超讚的Google Chrome擴充套件外掛GoChrome套件
- 如閃電劃破雨夜,這些開源專案瞬間點亮了命令列命令列
- 這 6 個爬蟲開源專案 yyds爬蟲
- 這個開源組織裡的專案都是精品
- 我寫了一個開源專案AlphabetPyAlphabet
- 我最近寫了個開源專案Datura
- 一個令人驚豔的ChatGPT專案,開源了!ChatGPT
- 學生黨學程式設計,有這個開源專案就夠了!程式設計
- André Staltz:2019年開源專案調查 超50%的專案收入低於貧困線
- 超讚!推薦一個專注於Java後端原始碼分析的Github專案!Java後端原始碼Github
- 2017年度30大最驚豔的開源機器學習專案機器學習
- 假如開源專案創始人去世了,專案怎麼辦?
- 這個專案碉堡了
- 如何寫出優雅的程式碼?試試這些開源專案「GitHub 熱點速覽」Github
- 我用這些開源專案輕鬆搭建了一個線上文件平臺
- 2017年,我們釋出了這些利器
- 2017 年崛起的 JS 專案JS
- 有這個開源專案,你也可以打造自己的知識付費平臺了
- 其實大多開源專案是這樣維護的