[請益] 機器學習如何做好version control

看板Soft_Job (軟體人)作者 (baby)時間8年前 (2018/04/14 07:27), 8年前編輯推噓16(16024)
留言40則, 19人參與, 8年前最新討論串1/1
大家好 我是ML新手 跟的前輩是很優秀的超強者 但是前輩很不organized 寫的code總是不commit 主管希望下個項目之前我可以提出報告要如何改進並且希望前輩能跟進 我是覺得ML和其他寫程式有點不同 因為不斷測試參數 每次調參數都commit的話好像太繁雜 所以我一般是有了好結果才com mit一次 不知道大家一般怎麼做的 另一個問題是資料庫會更新 更新過程那原來的model 不變讀到的數據就不一樣了那出來 的結果也還是不一樣 這樣要怎麼reproduce做出和原來一樣正確率?? 大家會寫個word檔紀錄每次Data的變化嗎? 想知道大家實際工作上是如何管理的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 184.64.125.141 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1523662068.A.763.html

04/14 07:47, 8年前 , 1F
測試出來的正確率只能對應到該次的model和dataset版本,
04/14 07:47, 1F

04/14 07:47, 8年前 , 2F
兩者其一有變動就應該要重測一次數據
04/14 07:47, 2F

04/14 07:54, 8年前 , 3F
每次都commit啊,因為你有可能下次調參就變差了。 資料
04/14 07:54, 3F

04/14 07:54, 8年前 , 4F
變動的話,就另外add一個描述資料的文件一起commit
04/14 07:54, 4F

04/14 09:15, 8年前 , 5F
我比較好奇 jupyter 怎麼版控
04/14 09:15, 5F

04/14 09:46, 8年前 , 6F
寫一份實驗數據分析之類的
04/14 09:46, 6F

04/14 10:09, 8年前 , 7F
你的問題只是要好好把實驗config整理好
04/14 10:09, 7F

04/14 10:11, 8年前 , 8F
包括dataset內容,augment用哪些這些細節都應該要記
04/14 10:11, 8F

04/14 10:13, 8年前 , 9F
就跟做實驗一樣啊
04/14 10:13, 9F

04/14 10:39, 8年前 , 10F
我在家自用的script在dropbox目錄下修改,自動備份所有存檔
04/14 10:39, 10F

04/14 12:11, 8年前 , 11F
強者搞自己的?這樣叫強者?強者若要搞自己的,幹嘛找人?
04/14 12:11, 11F
我們這個ML項目得獎 前輩有被邀請去英國Cambridge和今年是暑假會去美國MIT 前輩強在 知識和理論 還有幾項和ML無關的發明 我們都不是寫程式出身 ※ 編輯: littleyuan (184.64.125.141), 04/14/2018 12:28:05

04/14 12:56, 8年前 , 12F
如果db一直會更新就比較麻煩
04/14 12:56, 12F
嗯db是每天都會大量新增 甚至舊數據會被改動。。 優點是我們有非常大量的數據 但是目前還在找好的方式去讓這些大量數據能妥善被使用 。。並且在想如何去data version control是最好的方式。。 ※ 編輯: littleyuan (184.64.125.141), 04/14/2018 13:01:52

04/14 15:43, 8年前 , 13F
我以爲Machine Learning就是讓機器去分析學會「調參數」,
04/14 15:43, 13F

04/14 15:43, 8年前 , 14F
而不是一直「手動」調參數。是我誤會什麼了嗎?
04/14 15:43, 14F

04/14 15:54, 8年前 , 15F
原po說的調參數 指的應該是超參數吧
04/14 15:54, 15F

04/14 18:36, 8年前 , 16F
你沒有提問題在那裡? code不commit有什麼實際的影響?
04/14 18:36, 16F

04/14 18:37, 8年前 , 17F
長官對什麼地方不爽?
04/14 18:37, 17F

04/14 19:10, 8年前 , 18F
妳那些超參數都是寫死在程式裡?
04/14 19:10, 18F

04/14 19:12, 8年前 , 19F
我的話會另外用個檔案存超參數 程式一開始去取值
04/14 19:12, 19F

04/14 19:12, 8年前 , 20F
版控就只要做程式的部分就好了吧
04/14 19:12, 20F

04/14 19:13, 8年前 , 21F
另外數據一值更新 是不是可以先固定一組訓練/測試集
04/14 19:13, 21F

04/14 19:14, 8年前 , 22F
這樣新model才能做比較 有變好再上線使用
04/14 19:14, 22F

04/14 19:15, 8年前 , 23F
也比較方便記錄不同組超參數在同樣資料下的結果
04/14 19:15, 23F

04/14 19:43, 8年前 , 24F
Data version control is a new tool. You could check the
04/14 19:43, 24F

04/14 19:43, 8年前 , 25F
ir article on Medium
04/14 19:43, 25F

04/14 20:18, 8年前 , 26F
做影像的話 通常會測固定的dataset 每版commit model跟
04/14 20:18, 26F

04/14 20:19, 8年前 , 27F
parameter 你的應用聽起來input不固定比較複雜
04/14 20:19, 27F

04/14 21:09, 8年前 , 28F
把每次跑的model存起來啊,這樣資料集固定了
04/14 21:09, 28F

04/14 21:10, 8年前 , 29F
至於超參數,好像也只能另寫config檔來存做版控,看其他
04/14 21:10, 29F

04/14 21:10, 8年前 , 30F
高手有無較好的方法。
04/14 21:10, 30F
對我是說超參數hyperparameters不是一般參數>< 先謝謝大家的意見!!我會參考大家的方式新project時應用希望不會那麼雜亂了 ※ 編輯: littleyuan (184.64.125.141), 04/14/2018 22:04:35

04/15 16:43, 8年前 , 31F
用config紀錄hyperparamater和結果以及model檔名稱
04/15 16:43, 31F

04/15 16:43, 8年前 , 32F
吧,不太懂你說db一直變動什麼意思,有人在commit db
04/15 16:43, 32F

04/15 16:43, 8年前 , 33F
的嗎…
04/15 16:43, 33F

04/15 18:54, 8年前 , 34F
這確實是蠻困擾的問題 data 跟 code 同時在變的話
04/15 18:54, 34F

04/16 00:02, 8年前 , 35F
除了刷數據投paper以外,現實中固定dataset然後狂調參數意
04/16 00:02, 35F

04/16 00:02, 8年前 , 36F
義不大吧?
04/16 00:02, 36F

04/16 02:21, 8年前 , 37F
管理機器學習的程式碼在幾年前還是Open Problem, 沒答案
04/16 02:21, 37F

04/16 02:22, 8年前 , 38F
近年應該滿多Talk在分享相關議題, 我自己是看Google的論
04/16 02:22, 38F

04/16 02:23, 8年前 , 39F
文才注意到這個問題:
04/16 02:23, 39F

04/16 02:23, 8年前 , 40F
文章代碼(AID): #1QqJpqTZ (Soft_Job)
文章代碼(AID): #1QqJpqTZ (Soft_Job)