如何使用Git组织一组科学实验
我在一个模型上运行实验,工作流程如下:如何使用Git组织一组科学实验,git,scientific-computing,Git,Scientific Computing,我在一个模型上运行实验,工作流程如下: model - code - simulation_results - a83bc4 - 23e900 - etc - analysis 我在一个模型(Python软件)中工作 我更改了一些参数并进行了一个实验 然后,我将存储实验结果(作为泡菜) 然后,我将使用另一个软件(IPython笔记本)分析(pickle)结果 我使用的是一个指南,实验的结果存储在一个表中,沿着提交的散列。我希望将结果存储在一个目录中,将目录命名为哈希 关
model
- code
- simulation_results
- a83bc4
- 23e900
- etc
- analysis
- 我在一个模型(Python软件)中工作
- 我更改了一些参数并进行了一个实验
- 然后,我将存储实验结果(作为泡菜)
- 然后,我将使用另一个软件(IPython笔记本)分析(pickle)结果
代码
和分析
分开。例如,analysis
中IPython笔记本中绘图的颜色变化不应改变code
我想的方法是:
目录结构如下所示:
model
- code
- simulation_results
- a83bc4
- 23e900
- etc
- analysis
不同的Git存储库用于code
和analysis
,将simulation\u结果
保留在Git之外
有什么评论吗?更好的解决方案?谢谢。听起来不错,您的结构非常适合使用,
模型成为git回购的母公司
这样,您将在模型
回购中链接code
和analysis
SHA1
这意味着您可以基于model
repo(“父”repo)的SHA1在私有(即未版本化)目录model/simulation\u results
中创建目录:SHA1链接project
和analysis
子模块的SHA1,这意味着您可以准确地再现实验(基于项目
和分析
的确切内容)。模拟结果下的十六进制数应该是什么意思?(我猜它们是提交ID,但我错过了一些上下文。)我认为子模块是一种很好的方法。我已经编辑并详细说明了我的答案。嗨,约瑟夫,是的,十六进制数确实是提交ID。嗨,VonC。谢谢你详细说明你的答案,这非常有帮助。