歡迎光臨
每天分享高質量文章

2017 年,谷歌開源了這些超酷炫的專案

開源最前線(ID:OpenSourceTop) 猿妹整編

轉載請註明來源作者

在開源和貢獻開源方面,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 是一個開源專案,用於編譯和分析量子演演算法來模擬費米子體系,包括量子化學,在其他功能中,當前版本的特徵是利用資料結構和工具來獲取和操縱費米子和量子位哈密頓運算元的表示。


●本文編號453,以後想閱讀這篇文章直接輸入453即可

●輸入m獲取文章目錄

贊(0)

分享創造快樂