如何使用Git组织一系列科学实验

时间:2013-01-24 13:29:41

标签: git scientific-computing

我正在模型上运行实验,其工作流程如下:

  • 我在一个模型(Python中的软件)中工作
  • 我更改了一些参数并运行了一个实验
  • 然后,我将存储实验结果(作为泡菜)。
  • 然后,我将使用另一个软件(IPython笔记本)分析(酸洗)结果。

我正在使用Git and Scientific Reproducibility作为指南,其中实验结果沿着提交的哈希存储在表中。我想将结果存储在目录中,将目录命名为哈希。

考虑版本控制,我想隔离codeanalysis。例如,analysis中IPython笔记本中的绘图中颜色的更改不应更改code

中的任何内容

我在想的方法:

像这样的目录结构:

model
- code
- simulation_results
   - a83bc4
   - 23e900
   - etc 
- analysis

以及codeanalysis的不同Git存储库,将simulation_results从Git中删除。

有何评论?更好的解决方案?感谢。

1 个答案:

答案 0 :(得分:4)

这似乎很合理,您的结构非常适合使用 git submodules model成为父级git repo。

这样,您就会在code个回购链接中将analysismodel SHA1链接在一起。

这意味着您可以根据model/simulation_results repo的SHA1(" parent" repo)在私有(即非版本化)目录model内创建目录:SHA1链接projectanalysis子模块的SHA1,这意味着您可以完全重现实验(基于project和{{1}的确切内容}})。