Re: [討論] 機器學習如何做好version control???
※ 引述《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,
04/14 05:35
→
04/14 05:36,
04/14 05:36
→
04/14 05:37,
04/14 05:37
→
04/14 05:38,
04/14 05:38
→
04/14 05:39,
04/14 05:39
→
04/14 05:39,
04/14 05:39
→
04/14 05:39,
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
04/14 10:08, 1F
→
04/14 10:08,
6年前
, 2F
04/14 10:08, 2F
→
04/14 10:08,
6年前
, 3F
04/14 10:08, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章