我正在模型上运行实验,其工作流程如下:
我正在使用Git and Scientific Reproducibility作为指南,其中实验结果沿着提交的哈希存储在表中。我想将结果存储在目录中,将目录命名为哈希。
考虑版本控制,我想隔离code
和analysis
。例如,analysis
中IPython笔记本中的绘图中颜色的更改不应更改code
我在想的方法:
像这样的目录结构:
model
- code
- simulation_results
- a83bc4
- 23e900
- etc
- analysis
以及code
和analysis
的不同Git存储库,将simulation_results
从Git中删除。
有何评论?更好的解决方案?感谢。
答案 0 :(得分:4)
这似乎很合理,您的结构非常适合使用 git submodules
,model
成为父级git repo。
这样,您就会在code
个回购链接中将analysis
和model
SHA1链接在一起。
这意味着您可以根据model/simulation_results
repo的SHA1(" parent" repo)在私有(即非版本化)目录model
内创建目录:SHA1链接project
和analysis
子模块的SHA1,这意味着您可以完全重现实验(基于project
和{{1}的确切内容}})。