Drake's Weblog

keras

2 minute read

前幾天有一個新服務 Comet.ml 在 TechCrunch 下了個這樣的標題與介紹:



Comet.ml wants to do for machine learning what GitHub did for code


The service provides you with a dashboard that brings together the code
of your machine learning (ML) experiments and their results.
In addition, the service also allows you to optimize your models by
tweaking the hyperparameters of your experiments.
As you train your model, Comet tracks the results and provides you with a graph of your results,
but it also tracks your code changes and imports them
so that you can later compare all the different aspects of the various versions of your experiments.



大意是說,這個 Comet.ml 的服務,是被開發來給資料科學家用的服務。
它就像 GitHub 是給 developer 用的一樣,扮演著類似的功能,只是是特別對 model training 做一些特化。
所以它會把每次的建立模型的 1) 程式碼; 2) 參數; 3) 設計的模型; 4) 安裝了什麼 Python packages; 5) 模型練習的過程/成效/結果; 6) stdout; 7) 其它文字註解…
這幾項給通通存起來,方便日後回來校閱或比對。
更方便讓幾位資料科學家或演算法開發的工程師可以一起研究,有個依據。


一言以蔽之,
它是一個用來 紀錄 / 追蹤 / 比對 一個模型設計與開發的服務。


感覺挺有趣的,決定來試試看。
本著上次在公司裏頭鐵頭的 Data Team Workshop 的一些些印象,
加上它又有 repo,而且還是友善到不行的手把手 notebooks 型式,
很有機會可以拿來試驗一下這個 Comet.ml,即使我至今還沒完整看過 Tensorflow 或是 Keras 的文件或教學影片!


看來看去,就拿裏頭的 MNIST 來試好了。


用最簡單的兩個 Dense (Just your regular densely-connected NN layer) 做一個 model,
第一個 layer 的 output vector size 用 64,
第二個(最後一個) layer 的 output vector size 則是 10,設成與 MNIST 要分類的個數一樣。
丟下去跑一跑,在 Comet.ml 上跑出了這麼一個 Experiment



在 Comet.ml 上頭,每一次的實驗,就叫一個 Experiment。
透過它 monkey patched 過後的 Keras,
一旦你開始執行你的程式做 training,
它就會開始自動紀錄你 model training 的整個過程,
它會自動幫你把每次 training step 的 (loss, accuracy) 給記下來,
然後最後(按官方文件的說法)自動上傳到 Comet.ml 平台。
也可以再自行加上呼叫幾個 log function 來特意把一些想記的參數給上傳上去。
這個是我第一次的 experiment 的程式碼


相當的有意思,忍不住多把玩了幾下。
(結果就是睡到半夜四點醒來,還多下了一個 experiment XD)

Recent posts

Categories

About

You're looking at Drake's words or statements. All opinions are my own.