這是什麼?

程式週記主要內容如下:

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

Github 在這裡

第三届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:

  1. Auto-Scale node is support by setup min/max node in Kubernetes
  2. 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

TensorFlow Ecosystem

這一篇影片,很建議 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 課程,內容相當的廣泛並且有相當多的資訊可以參考. 這個鏈結中有相關的課堂投影片與筆記.

如果覺得這個太複雜,幾個簡單的資訊分享一下:

  1. Google Codelab - Tensorflow for Poets: 就算你不是資料科學家也可以跑跑這個 codelab ,隨著一步步的指導可以很快速地學會怎麼在本地端透過 docker 來跑跑 Tensorflow 運算一個結果.

  2. 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 或是依舊不會在白板上面寫出一些演算法考題

以下收集大神自嘲列表:

  1. DHH (Ruby on Rails 發明人、Basecamp 創辦人兼 CTO) 自嘲不會在白板上面寫 Bubble Sort

  2. Tim Dierks 身為 Google Security 的 Lead 並且有三十年的程式經驗也說自己需要 Google 才能拿到 Python String 的長度

歡迎提供其他大神自嘲 Tweet



有聲書/影片心得


Buy Me A Coffee

Evan

Attitude is everything