這是什麼?
程式週記主要內容如下:
Gihub project 介紹:
- 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢
網路文章心得:
- 會寫些心得,強迫自己閱讀.
“程式週記”並且定期週期性更新.
大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.
本週摘要
本週很榮幸地收到邀請到新加坡去參加 Machine Learning Expert Day 並且跟來自世界的其他學習 Machine Learning 的人一起討論.看到世界各國的人熱心的在社群裡指導著人們學習 Machine Learning 與 Deep Learning 就讓人感受到他們的熱情.
Go
Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon)
今年有一個廠商 [GoherCon India 2017] 挺有趣的, TIBCO 這家公司作出了一個類似 Node-RED 但是完全使用 Go 改寫的 IOT 平台 “Flogo”
這一篇官方部落格有 demo 並且指導如何跟 Flogo 來對接.. IDE 用的是 LiteIDE
第三届GopherChina大会
GopherChina 2017 的報名網頁,講者很不錯. 除了大家熟知的 Francesc and Dave Cheaney 還有很多大陸的 Gopher .挺值得報名的
lucas-clemente/quic-go: A QUIC implementation in pure go
QUIC 全名是 (Quick UDP Internet Connection) 是 Google 基於 UDP 上面建置的傳輸協定,一開始只有在 Chrome 上面有,並且要透過 chromium 專案才能編譯的出來(並不好準備編譯環境) .
現在不需要那麼痛苦了.. 因為全部都使用 Go 做出來了,你可以全程在 Go 裡面編譯並且試試看 QUIC 這個傳輸協定.
rook/rook: Open, Cloud Native, and Universal Distributed Storage https://rook.io
Rook 是一個倡導是 Cloud Native 開發概念的儲存工具,開發概念完全基於 ceph (一個大型儲存伺服軟體) . 當然完全都是透過 Go
Python
Android/JAVA/NODE.JS
Docker
iOS/Swift
其他程式語言
論文收集
Kubernetes
Autoscaling in Kubernetes
Rule:
- Auto-Scale node is support by setup min/max node in Kubernetes
- It will auto-scale node when there is pending pod (Important)
Machine Learning
Tensorflow Dev Summit Playlist
Google 日前 (02/24) 舉辦的 Tensorflow Dev Summit 的當天,也正式宣布了 Tensorflow 1.0 . 這個播放清單總共有 19 段影片,很推薦有興趣的人好好的看看,推薦一些重點給大家:
Keynote: 由 Google Brain 的 Leader Jeff Dean 展開的,帶來 Tensorflow 1.0 所有演進的部分: 更快,更有彈性,更寬廣的使用. 沒有太多時間的話,建議看完這篇.
XLA (Accelerated Linear Algebra) : 可以將 Tensorflow 的 Graph 加以編譯使用最快的方式來執行,也就是說不論你的 Tensorflow 使用 Python, Java 還是 Go (對!!有喔) 都可透過 XLA 將 Tensorflow 的 Graph 編譯成相當有效率的 machine instruction 然後在 C++ 寫成的 Executor 上面來執行.
Tensorflow at Deepmind: Deepmind 就是 Google 花了大錢併購的深度學習公司,並且讓他們由原本使用的 Torch 改到了 Tensorflow ( 據說原因是: Flexibility, Usability Scalability 跟 Performance ) 裡面同時也有講解一些 Deepmind 的豐功偉業,包括了節省了 Google IDE 的 60% 冷卻費用 , GORILLA (Google Reinforcement Learning Architecture) ,當然還有大家最熟知的 Alpha Go 裡面的兩個類神經網路的架構都有稍微提到. 很推薦大家看看
先推薦大家三篇… 這幾天應該會陸續推薦 :p
這一篇影片,很建議 Data Engineer 好好看看 ecosystem 這個 repo ,裡面有很多工具可以幫助到你.分別有:
- Common Setup Distributed Tensorflow: 完整的步驟,教你如何建置出分散式的 Tensorflow.並且敘述如何在上面使用 Between-Graph 的方式來讓分散式 Tensorflow 運作得更有效率.
- TFRecords: 可以幫你從 Hadoop (相同方式也可以從 Spark ) 將你讀入或是將寫出的資料轉到 Tensorflow 的 TFRecords 中.這麼一來就可以透過 Tensorflow 的架構來做資料處理的工作,速度將會相當的快.
- Cluster Manager: 如果你本身有使用 Kubernetes, Marathon/Masos 或是 Hadoop 來管理 cluster ,你也可以透過它提供系的相關工具來部署你的 Tensorflow Distribution Cluster .
- 關於儲存媒體上: 裡面也推薦使用 GCS(Google Cloud Storage), HDFS 跟 AWS ,尤其在 TensorBoard 與 TensorServing .
- 兩種 Model 輸出的方式: SaveModel 可以儲存所有變數,GraphDef
- 其他語言的支援方面,目前僅有 Python 能夠 Train model 其他語言都只能 Build, Execute Model
一篇主要是講解,如果你原來是使用 Hadoop, Spark 可以看看 ecosystem 這個 repo 可以幫助你快速轉換.
[Paper] Benchmarking State-of-the-Art Deep Learning Software Tools
香港大學的論文在這篇論文都很推薦 MSFT 的 CNTK 效能依舊有 5~10 倍的差異.
[TensorFlow 學習資源] Stanford 課程
Stanford 在今年一月有公開他們的 TensorFlow 課程,內容相當的廣泛並且有相當多的資訊可以參考. 這個鏈結中有相關的課堂投影片與筆記.
如果覺得這個太複雜,幾個簡單的資訊分享一下:
-
Google Codelab - Tensorflow for Poets: 就算你不是資料科學家也可以跑跑這個 codelab ,隨著一步步的指導可以很快速地學會怎麼在本地端透過 docker 來跑跑 Tensorflow 運算一個結果.
-
Google Tensorflow-Intro Codelab: 今天在 Google 開放比較豐富的內容,這個 codelab 你會學到使用 BigQuery, Google Cloud 跟一些簡單的 Deep Learning 概念.並且透過 Jupyter Notebook 來跑跑看一些 Deep Learning 的範例.
This Machine Turns Trump Tweets into Planned Parenthood Donations
透過美國新任總統 Trump 的 tweet 來分析哪些公司會受到影響而有股市的動盪,目前已經是一門顯學.很有趣的分析.
網站文章
How I Got From 0 to 1 000 Stars on GitHub in Three Months With My Open Source Side Project
網站收集
Why I Don’t Talk to Google Recruiters
這篇文章很有趣,其實是上個禮拜看到的文章.又把它翻出來看.因為最近一堆大神在自己的 Twitter 上面自嘲說即使是像自己工作了那麼多年,寫程式依舊需要 Google 或是依舊不會在白板上面寫出一些演算法考題
以下收集大神自嘲列表:
-
DHH (Ruby on Rails 發明人、Basecamp 創辦人兼 CTO) 自嘲不會在白板上面寫 Bubble Sort
-
Tim Dierks 身為 Google Security 的 Lead 並且有三十年的程式經驗也說自己需要 Google 才能拿到 Python String 的長度
歡迎提供其他大神自嘲 Tweet