2017 年,谷歌開源了這些超酷炫的項目
轉載請註明來源作者
在開源和貢獻開源方面,Google 一直是行業的典範。2017年,Google 在 GitHub 上大約有 900 名活躍用戶,共推送約 1100 個頂級庫。
Google 開源了許多非常有價值的項目比如十分流行的機器學習系統 TensorFlow ,Web 前端框架 Angular,比如 Kubernetes 等。下面一起來看看在過去的一年裡,Google 又開源了哪些有價值的項目。
1、PuppeteerStar 26.9K
Puppeteer 是一個控制 headless Chrome 的 Node.js API 。它是一個 Node.js 庫,通過 DevTools 協議提供了一個高級的 API 來控制 headless Chrome。它還可以配置為使用完整的(非 headless)Chrome。
在瀏覽器中手動完成的大多數事情都可以通過使用 Puppeteer 完成,如生成屏幕截圖和 PDF 頁面、檢索 SPA 並生成預渲染內容(即「SSR」)、從網站上爬取內容等
2、圖像演算法工具 GuetzliStar 10.8K
Guetzli 是一款 JPEG 編碼器,其目標是在高視覺質量下實現出色的壓縮能力。Guetzli 生成的圖像通常比由 libjpeg 生成的同等質量的圖像小 20-30%。並且它還能提供更快的解壓縮速度,Guetzli 僅生成非漸進式的 JPEG。
3、機器學習數據集可視化工具 FacetsStar3.8K
Facets 是 Google 開源的一款可視化工具,幫助理解、分析和調試 ML 數據集。
Facets 包含兩個部分 —— Facets Overview 和 Facets Dive ,允許用戶以不同的粒度查看其數據的整體圖像。Facets Overview 可用於可視化數據的每一個特徵,Facets Dive 用來探索個別的數據觀察集。
4、Go 運行 Python:GrumpyStar 8.7K
Grumpy 是一個 Python to Go 源代碼翻譯編譯器和運行時,旨在替代 CPython 2.7。關鍵的區別在於它將 Python 源代碼編譯為Go源代碼,然後將其編譯為本地代碼,而不是位元組碼。這意味著 Grumpy 沒有虛擬機。編譯後的Go源代碼是對Grumpy運行時的一系列調用,Go 庫是用於與 Python C API 類似的目的(儘管 API 與 CPython 不兼容)。
5、可自動生成命令行介面 Python FireStar 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.jsStar 6.4K
deeplearn.js 最初由 Google Brain PAIR 開發,是一款基於硬體加速的開源 JavaScript 庫,可被用在機器智能領域。該庫將高性能的機器學習構建模塊引入到web開發領域。deeplearn.js 提供高效的機器學習構建模塊,使我們能夠在瀏覽器中訓練神經網路或在推斷模式中運行預訓練模型。它提供構建可微數據流圖的 API,以及一系列可直接使用的數學函數。
7、基於 TensorFlow 的神經網路庫 SonnetStar 6.1K
sonnet是一個能在 TensorFlow 上快速創建神經網路模塊的高級框架。Sonnet 走的是面向對象(object-oriented)的路子,與 Torch/NN 類似,使得定義某些運算前饋通路(forward pass)的模塊能夠被創建出來。模塊使用輸入 Tensor 來調用,這向計算圖(Graph)添加任務,並返回輸出 Tensor。其中一項設計目標,是確保以透明的方式進行變數分享。這是通過對同個模塊接下來的調用,自動重複使用變數來實現。
8、大型微服務系統管理工具 IstioStar 6K
Istio 開源平台,其本質上是一個服務網路,可用來部署服務網路,其中包括負載均衡、服務認證和監控等工具,從而可以更輕鬆安全地管理微服務(microservices)。該平台最先將運用在 Kubernetes 上。
谷歌、IBM 和 Lyft 推出 Istio 平台的目的就在於,幫助開發者和 DevOps 專業人員管理和保護其基於微服務的應用程序。、
9、C++ 標準庫的擴充庫 AbseilStar3.8K
Abseil 已在 Google 歷經十多年的開發,由 Google 的基礎 C ++ 和 Python 代碼庫組成,它的目的是為Protocol Buffers、gRPC 和 TensorFlow 等這些項目的開發人員提供支持。
10、機器學習工具庫 KubeflowStar 2.6K
Kubeflow 是谷歌發布的一個機器學習工具庫,致力於使運行在 Kubernetes 上的機器學習變的更輕鬆、便捷和可擴展;Kubeflow 的目標不是重建其他服務,而是提供一種簡便的方式找到最好的 OSS 解決方案。
11、遊戲框架 BOARDGAME.IOStar 5.7K
BOARDGAME.IO 是 Google 開源的一個遊戲框架,旨在允許遊戲作者將遊戲規則從本質上轉化為一系列簡單的函數,這些函數用於描述當一個指定動作發生時遊戲的狀態變化,框架負責處理表述性狀態傳遞。 無需再手動編寫任何網路或後端代碼。
12、Docker 鏡像差異分析工具 container-diffStar 1.6K
container-diff 是 Google 開源的一個分析和比較容器鏡像的工具,可用來分析 Docker 鏡像之間的差異。可通過以下幾個不同的標準(角度)來檢查鏡像:
● Docker 鏡像歷史
● 鏡像文件系統
● Apt 包管理器
● pip 包管理器
● npm 包管理器
13、谷歌深度學習庫 TensorFlow FoldStar 1.4K
TensorFlow Fold 是用於創建使用結構化數據的 TensorFlow 模型庫,其中計算圖的結構取決於輸入數據的結構。
GIF
上圖的動畫展示了一個利用動態批處理運行的遞歸神經網路。相同顏色的操作被劃分到同一次批處理中,這使得 TensorFlow 能夠更高效地運行。其中Embed操作負責將單詞轉換為向量表示,FC(完全連接,Fully Connected)操作負責將單詞向量組合為短語的向量。該網路最後的輸出是一個完整句子的向量表示。雖然這裡只展示了一個針對單一語句的解析樹,但實際上該網路可以在任意形狀和大小的多個解析樹上並行地進行動態批處理。
14、開源量子軟體 OpenFermionStar 381
OpenFermion 是一個開源項目,用於編譯和分析量子演算法來模擬費米子體系,包括量子化學,在其他功能中,當前版本的特徵是利用數據結構和工具來獲取和操縱費米子和量子位哈密頓運算元的表示。
●本文編號2941,以後想閱讀這篇文章直接輸入2941即可
●輸入m獲取文章目錄
TAG:程序猿 |