作者JingJing00 (晶晶)
看板DataScience
标题Re: [讨论] 机器学习如何做好version control???
时间Sat Apr 14 17:33:52 2018
※ 引述《littleyuan (baby)》之铭言:
: 大家好
: 我是ML新手 跟的前辈是很优秀的超强者
: 但是前辈很不organized 写的code总是不commit
: 主管希望下个项目之前我可以提出报告要如何改进并且希望前辈能跟进
: 我是觉得ML和其他写程式有点不同
: 因为不断测试参数 每次调参数都commit的话好像太繁杂 所以我一般是有了好结果才com
: mit一次 不知道大家一般怎麽做的
: 另一个问题是资料库会更新 更新过程那原来的model 不变读到的数据就不一样了那出来
: 的结果也还是不一样
: 这样要怎麽reproduce做出和原来一样正确率??
: 大家会写个word档纪录每次Data的变化吗?
: 想知道大家实际工作上是如何管理的呢?
你可以commit到另一个branch
master branch只放乾净的程式码, 然後设定限制, 永远不能被直接commit
只能透过送pull request的方式
这一种方式在一般软体开发很常用
http://nvie.com/posts/a-successful-git-branching-model/
(google搜得到中文翻译版)
以两人合作来说
feature branch跟master branch两个分支就够用
简单说是当你要开发时, 开一个新的branch
完成时送pull request到master branch
和另一个人code review, 完成後merge 到master
资料库会更新这点来说
应该local, staging, production 不同环境各有自己一份资料
别人要测试你的参数时, 都是共用local的资料
你可以从production抽一些资料放到s3当成给local用
local:给大家本机用的, 资料量不要太大不然读得很慢 或是笔电会当掉
staging:上production前部署到伺服器测试看看运作如何
production:实际有使用者在用的环境 资料会变动
cookiecutter主要是让专案更有架构
https://github.com/drivendata/cookiecutter-data-science
如资料流程摆一起等等
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 95.91.211.168
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1523698437.A.895.html
1F:推 littleyuan: 谢谢你宝贵的意见!我原来的做法真的太杂乱了 新的项 04/14 22:02
2F:→ littleyuan: 目会开始用这些方式来好好整理的! 04/14 22:02
3F:推 tay2510: 推! 04/15 00:53