Re: [討論] 機器學習如何做好version control???

看板DataScience作者 (casperxdd)時間6年前 (2018/04/14 09:19), 編輯推噓1(102)
留言3則, 1人參與, 6年前最新討論串3/5 (看更多)
※ 引述《littleyuan (baby)》之銘言: : 大家好 : 我是ML新手 跟的前輩是很優秀的超強者 : 但是前輩很不organized 寫的code總是不commit : 主管希望下個項目之前我可以提出報告要如何改進並且希望前輩能跟進 : 我是覺得ML和其他寫程式有點不同 : 因為不斷測試參數 每次調參數都commit的話好像太繁雜 所以我一般是有了好結果才com : mit一次 不知道大家一般怎麼做的 : 另一個問題是資料庫會更新 更新過程那原來的model 不變讀到的數據就不一樣了那出來 : 的結果也還是不一樣 : 這樣要怎麼reproduce做出和原來一樣正確率?? : 大家會寫個word檔紀錄每次Data的變化嗎? : 想知道大家實際工作上是如何管理的呢? 我寫一點自己的想法。除了推文裡寫的

04/14 05:33,
....這算大哉問等級的問題 (拉椅子等回答
04/14 05:33

04/14 05:34,
我通常是參數會存到另一個檔裡
04/14 05:34

04/14 05:35,
/data 部分丟進.gitignore 會備份但盡量不動
04/14 05:35

04/14 05:36,
在訓練模型時不能一直用新data 不然會變多頭馬車
04/14 05:36

04/14 05:37,
取什麼data或一些business logic寫進.md或test cases
04/14 05:37

04/14 05:38,
之前有試過用GNU make 不過不太順手
04/14 05:38

04/14 05:39,
最近發現這個但還沒試過, 他的模板大致不錯, 有些
04/14 05:39

04/14 05:39,
我不太同意就是:
04/14 05:39

04/14 05:39,
google搜 cookie cutter data science
04/14 05:39
我的作法是 開兩個repository 假設專案叫xyz 那我會開一個 xyz-explore 另一個 xyz-prod xyz-explore裡面可能很亂 不會完全照 software version control 的方式作 但只要作出比目前存在 xyz-prod 裡好上一截的東西 就把 explore 裡的pipeline和參數搬過去 連同 sample data, 說明檔之類的一起弄進去 我覺得 git 是軟體界的東西 對軟體工程師的工作流程幫助很大 因為建軟體時有 spec 可以照著走 但作資料科學時常常前進一步後退兩步 或是今天新抓的data source 寫的 script 試的方法 明天結果跑出來跟垃圾一樣 如果 xyz-prod 裡的檔夠乾淨 通常老闆和其他人容易看懂 都ok xyz-explore 裡面目前我還沒想到一個好的整理法 特別是常常在探索時寫的一堆 .sql .hql 真的不知道怎麼歸類 通常我都是一邊寫一邊建 .md 像寫日記一樣 回頭只要能找到自己當時為什麼會寫這段code 抓這個data 或這個不等式是因為什麼business logic 在幹嘛就行 xyz-prod 就盡量照著軟體界的 version control 走 經理和老闆想看的是 prod 不是 explore 把 explore 跟 production 工作流程分開的想法我是從這看來的 https://edwinth.github.io/blog/workflow/ 之前有對這個想法寫過一篇 blog post 僅供參考 http://changhsinlee.com/exploration-product-workflow/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.71.180.136 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1523668790.A.95B.html

04/14 10:08, 6年前 , 1F
謝謝你 真的很感謝 我會試著用這個方式做看看 我在ML
04/14 10:08, 1F

04/14 10:08, 6年前 , 2F
和programming界都很菜鳥還有很多在摸索 就連git也是
04/14 10:08, 2F

04/14 10:08, 6年前 , 3F
今年才開始使用 我會繼續精進的
04/14 10:08, 3F
文章代碼(AID): #1QqLSsbR (DataScience)
討論串 (同標題文章)
文章代碼(AID): #1QqLSsbR (DataScience)