作者littleyuan (baby)
看板Soft_Job
標題[請益] 機器學習如何做好version control
時間Sat Apr 14 07:27:46 2018
大家好
我是ML新手 跟的前輩是很優秀的超強者
但是前輩很不organized 寫的code總是不commit
主管希望下個項目之前我可以提出報告要如何改進並且希望前輩能跟進
我是覺得ML和其他寫程式有點不同
因為不斷測試參數 每次調參數都commit的話好像太繁雜 所以我一般是有了好結果才com
mit一次 不知道大家一般怎麼做的
另一個問題是資料庫會更新 更新過程那原來的model 不變讀到的數據就不一樣了那出來
的結果也還是不一樣
這樣要怎麼reproduce做出和原來一樣正確率??
大家會寫個word檔紀錄每次Data的變化嗎?
想知道大家實際工作上是如何管理的呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 184.64.125.141
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1523662068.A.763.html
1F:→ Mchord: 測試出來的正確率只能對應到該次的model和dataset版本,04/14 07:47
2F:→ Mchord: 兩者其一有變動就應該要重測一次數據04/14 07:47
3F:推 backprog: 每次都commit啊,因為你有可能下次調參就變差了。 資料04/14 07:54
4F:→ backprog: 變動的話,就另外add一個描述資料的文件一起commit04/14 07:54
5F:推 elements: 我比較好奇 jupyter 怎麼版控04/14 09:15
6F:→ janus7799: 寫一份實驗數據分析之類的04/14 09:46
7F:推 Murasaki0110: 你的問題只是要好好把實驗config整理好04/14 10:09
8F:推 Murasaki0110: 包括dataset內容,augment用哪些這些細節都應該要記 04/14 10:11
9F:推 f496328mm: 就跟做實驗一樣啊04/14 10:13
10F:推 enthos: 我在家自用的script在dropbox目錄下修改,自動備份所有存檔04/14 10:39
11F:→ maxqq: 強者搞自己的?這樣叫強者?強者若要搞自己的,幹嘛找人? 04/14 12:11
我們這個ML項目得獎 前輩有被邀請去英國Cambridge和今年是暑假會去美國MIT 前輩強在
知識和理論 還有幾項和ML無關的發明 我們都不是寫程式出身
※ 編輯: littleyuan (184.64.125.141), 04/14/2018 12:28:05
12F:推 cobrasgo: 如果db一直會更新就比較麻煩04/14 12:56
嗯db是每天都會大量新增 甚至舊數據會被改動。。
優點是我們有非常大量的數據 但是目前還在找好的方式去讓這些大量數據能妥善被使用
。。並且在想如何去data version control是最好的方式。。
※ 編輯: littleyuan (184.64.125.141), 04/14/2018 13:01:52
13F:推 mraaa: 我以爲Machine Learning就是讓機器去分析學會「調參數」,04/14 15:43
14F:→ mraaa: 而不是一直「手動」調參數。是我誤會什麼了嗎?04/14 15:43
15F:推 clairehuei: 原po說的調參數 指的應該是超參數吧 04/14 15:54
16F:推 SmallpTsai: 你沒有提問題在那裡? code不commit有什麼實際的影響? 04/14 18:36
17F:→ SmallpTsai: 長官對什麼地方不爽? 04/14 18:37
18F:推 chchan1111: 妳那些超參數都是寫死在程式裡? 04/14 19:10
19F:→ chchan1111: 我的話會另外用個檔案存超參數 程式一開始去取值 04/14 19:12
20F:→ chchan1111: 版控就只要做程式的部分就好了吧 04/14 19:12
21F:→ chchan1111: 另外數據一值更新 是不是可以先固定一組訓練/測試集 04/14 19:13
22F:→ chchan1111: 這樣新model才能做比較 有變好再上線使用 04/14 19:14
23F:→ chchan1111: 也比較方便記錄不同組超參數在同樣資料下的結果 04/14 19:15
24F:推 pwh17: Data version control is a new tool. You could check the 04/14 19:43
25F:→ pwh17: ir article on Medium 04/14 19:43
26F:推 poloball: 做影像的話 通常會測固定的dataset 每版commit model跟 04/14 20:18
27F:→ poloball: parameter 你的應用聽起來input不固定比較複雜 04/14 20:19
28F:推 shietsd: 把每次跑的model存起來啊,這樣資料集固定了04/14 21:09
29F:→ shietsd: 至於超參數,好像也只能另寫config檔來存做版控,看其他04/14 21:10
30F:→ shietsd: 高手有無較好的方法。 04/14 21:10
對我是說超參數hyperparameters不是一般參數><
先謝謝大家的意見!!我會參考大家的方式新project時應用希望不會那麼雜亂了
※ 編輯: littleyuan (184.64.125.141), 04/14/2018 22:04:35
31F:推 chedbens0729: 用config紀錄hyperparamater和結果以及model檔名稱 04/15 16:43
32F:→ chedbens0729: 吧,不太懂你說db一直變動什麼意思,有人在commit db 04/15 16:43
33F:→ chedbens0729: 的嗎… 04/15 16:43
34F:推 cory8249: 這確實是蠻困擾的問題 data 跟 code 同時在變的話 04/15 18:54
35F:→ Mchord: 除了刷數據投paper以外,現實中固定dataset然後狂調參數意 04/16 00:02
36F:→ Mchord: 義不大吧? 04/16 00:02
37F:→ Wush978: 管理機器學習的程式碼在幾年前還是Open Problem, 沒答案 04/16 02:21
38F:→ Wush978: 近年應該滿多Talk在分享相關議題, 我自己是看Google的論 04/16 02:22
39F:→ Wush978: 文才注意到這個問題: 04/16 02:23