fbpx

Soft & Share 開源報報 – 007 機器學習系統設計

這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (早上 8 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用上班前快速掌握目前開源專案的焦點。( 之前出版的開源報報 )

為什麼需要 Soft & Share 開源報報?

每天快速瀏覽開源報報具備有什麼效益?

  1. 增加自己的學習動力,提升自己的視野
  2. 從開源專案中獲得 side project 靈感與想法
  3. 利用開源專案提升自己的生產力

每天使用 NT8.3 元,你可以使用 Soft & Share 開源報報省下掌握每天開源資訊焦點的時間,這是一個很划算的時間槓桿投資

訂閱網址

今日內容摘要

✅ 機器學習系統設計
✅ 系統設計與架構
✅ 學習 OpenGL
✅ 線性代數互動電子書
✅ 演算法第四版的程式碼
✅ 用於建構快速和可擴充 React 資料表格的 Hooks
✅ 一個使用 Swift 編寫快速靈活的 Markdown 解析器
✅ 一個讓你的臉跟著指標移動的 Javascript 程式庫
✅ 一個可擴展的、搜尋引擎增強平台,用於部署 transformer 模型,以提高不同✅ 平台上搜索結果的相關性
✅ 網頁應用程式強化控制
✅ 執行端到端的功能性網路測試,測試可達性、延遲和資料包丟失
✅ 從配置到部署,用來建立一個完整的基礎設施程式碼(IaC)儲存庫的樣板
✅ 週期性地殺死 Kubernetes 叢集中的隨機 pods
✅ 可用來簡化 Android 的 Activities, Fragments, Threads, Services,等之間的通訊程式庫
✅ Rust 的跨平台 GUI 程式庫 ,靈感來自 Elm
✅ 在地圖上顯示熱度圖 ( Heatmap )
✅ 透過 GitHub Gist 來做跨多台電腦的 VS Code 的設定同步
✅ 比較人性化的 Git 指令
✅ 使用一個命令中將資料移轉到 PostgreSQL
✅ 使用 Python 實現機器人演算法的範例程式碼 ( 特別用於自動導航 )

學習資源

機器學習系統設計

這個專案主要教你設計機器學習系統的四個主要步驟

  1. 專案設置
  2. 資料管線
  3. 建模: 選擇、模型訓練和偵錯
  4. 服務: 測試、部署和維護

這個專案的開發者非常有名,她叫 Chip Huyen,目前在 Nvidia 人工智慧應用團隊工作,想知道她目前多有名,列一下之前有關於她的報導

今天介紹的專案出現在 github trend 中沒多久,中國的機械之心就出了一篇報導

Chip Huyen 無疑是 Nvidia 的最佳佈道師,在 Nvidia 用 GPU 不用花錢學機器學習真棒!


系統設計與架構

學習如何設計大規模的系統,並準備系統設計面試

這個 github 收集了許多知名公司( Facebook/Instagram/Netflix/Uber/Airbnb … ) 的系統設計案例,有些是來自這些公司的官方部落格 ( 例如 Netflix ) ,有些是學校課程的教學簡報 ( 例如 How Facebook Scale its Social Graph Store? TAO ) ,裡面也有昨天提到的 Kafka ( What is Apache Kafka )

對於這些大型系統背後的架構設計原理有興趣,這是一份很棒的學習資源

學習 OpenGL

這個專案主要是 OpenGL 線上教學指南 https://learnopengl.com 的範例程式碼,想要學習 OpenGL 程式設計是一個不錯的參考,專案最後還提到

Polytonic 建立了一個名為 Glitter 的專案,這是一個非常簡單的 OpenGL 樣板檔案。 執行一個 LearnOpenGL 專案(包括所有程式庫)所需的一切。 如果你想跟隨教學,沒有麻煩的手動編譯並且連結所有第三方程式庫!

這個線上教學網站是免費,還有簡體中文的翻譯

線性代數互動電子書

線性代數無疑是機器學習中很重要的數學技能,這個專案是一本線性代數互動電子書的原始碼,它的互動性做的真的很炫,你可以調整參數,數學方程式的結果會馬上顯示在畫面上,這可以幫助你理解抽象的數學方程式背後代表的意義


演算法第四版的程式碼

這是這本知名的演算法書籍 Algorithms, 4th Edition 的程式碼範例,這本書涵蓋每個程式設計師都應該知道的50種演算法。

Web 應用程式開發

用於建構快速和可擴充 React 資料表格的 Hooks

這邊有許多範例,範例使用線上開發環境,可以看到程式碼和結果


一個使用 Swift 編寫快速靈活的 Markdown 解析器

它可以用於將 markdown 格式的字串轉換為 HTML,還支援 metadata 解析,以及用於細粒度後處理的強大客製化選項。 它的重點是基於 swift 的 web 開發和其它以 html 為中心的工作流程。


一個讓你的臉跟著指標移動的 Javascript 程式庫

專案中有一個蠻有趣的範例,你事先必須先收集許多圖片來製作這個互動效果


一個可擴展的、搜尋引擎增強平台,用於部署 transformer 模型,以提高不同平台上搜索結果的相關性

Nboost 利用精化模型( finetuned models ) 生成特定領域的神經搜尋引擎。 該平臺還可以改進其他需要排序輸入的下游任務,例如問題回答。

在傳統的搜尋請求中,使用者要求 Elasticsearch 提供10個結果,然後從伺服器返回10個結果。

在 NBoost 搜尋請求中,使用者要求 Proxy 提供10個結果。 然後,Proxy 要求 Elasticsearch 提供100個結果。 當伺服器返回100個結果時,模型選擇最好的10個結果並返回給使用者


網頁應用程式強化控制

Svelte 是一種建構 web 應用程式的新方法。 它是一個編譯器( 使用 TypeScript 開發) ,它接受你的宣告性元件,並將它們轉換成有效率的 JavaScript,像外科手術一樣更新 DOM。

雲端和網路管理

執行端到端的功能性網路測試,測試可達性、延遲和資料包丟失

這是 uber 貢獻的開放原始碼,Arachne 是一種網路封包丟失檢測系統,也是一種效能不佳的路徑檢測系統。 它提供了對資料中心和雲端基礎架構中的所有元件進行快速、簡單的主動端到端功能測試。 Arachne 能夠通過產生最小流量來檢測 intra-DC, inter-DC, DC-to-Cloud, and DC-to-External-Services 的問題:

  • 可到達性
  • 往返和單向延遲
  • 沉默的封包丟失和黑洞
  • Jitter( Jitter與網路平均延遲偏差的平均值)
  • PMTU或防火牆問題不太可能與網路配置更改相關( 意外造成或不是 )
  • 是否網路層級的 SLAs 被滿足

Arachne 套件有兩種用法

  • 作為一個獨立程式執行 Arachne (Debian 也已經打包了)。
  • 作為自己程式中的一個程式庫

從配置到部署,用來建立一個完整的基礎設施程式碼(IaC)儲存庫的樣板

Terraform + Ansible + Docker Swarm boilerplate = DevOps on 🔥🔥🔥

  • Terraform 用來建立您的雲端基礎設施
  • Vagrant 用在本地端重現一個營運環境
  • Ansible 負責提供虛擬機器和建立 Docker Swarm 叢集
  • 使用 Ansible 再次部署你的堆疊

週期性地殺死 Kubernetes 叢集中的隨機 pods

這個工具是用來測試你的系統在任意的 pod 故障下會發生什麼行為。

行動應用程式設計

可用來簡化 Android 的 Activities, Fragments, Threads, Services,等之間的通訊程式庫

EventBus 也是使用 Pub/Sub 這種設計模式,跟昨天開源報報提到的 Apache Kafka 的原理是一樣的,只是用在不一樣的地方

程式設計語言

Rust 的跨平台 GUI 程式庫 ,靈感來自 Elm

資料科學

在地圖上顯示熱度圖 ( Heatmap )

熱度圖是資料科學中用來視覺化顯示經常使用的區域 ( 例如 UX 測試 ) ,或是出現大量資訊的區域,這個開源專案說明有教你如何去下載紀錄你的地理位置的 Google 資料,然後用這個工具繪製出 Heat Map

工具

透過 GitHub Gist 來做跨多台電腦的 VS Code 的設定同步

當你在不同地方工作使用不同的電腦,使用這個 VS Code 外掛就可以方便的使用你熟悉的 VS Code 設定


比較人性化的 Git 指令

靈感來自 GitHub for Mac™ ,跟你使用的 Git 指令不太一樣,可以讓 Git 更容易使用,例如 – 當你切換 branch 時做 auto-stashing


使用一個命令中將資料移轉到 PostgreSQL

它比單純使用 COPY 或 \copy 和使用外部資料包裝器的主要優點是它的 transaction 行為,其中 pgloader 將儲存一個單獨的檔案的拒絕資料,但繼續嘗試複製好的資料到你的資料庫中。

預設的 PostgreSQL 行為是使用 transactional 模式 ,這意味著輸入資料(檔案或遠端資料庫)中的任何錯誤行都將停止 table 的整個大量資料載入。

Pgloader 還實現了資料重新格式化,一個典型的例子是 MySQL 日期表0000-00-00和0000-0000:00:00到 PostgreSQL NULL 值的轉換

所以這個工具可以用來將 MySQL/SQLite 轉移到 PostgreSQL

論文到程式碼

使用 Python 實現機器人演算法的範例程式碼 ( 特別用於自動導航 )

細節可參考這篇論文

喜歡今天小編整理的開源報報嗎?歡迎給小編意見與回饋

One thought on “Soft & Share 開源報報 – 007 機器學習系統設計

Add yours

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: