18

次のようなワークフローで、モデルで実験を実行しています。

  • 私はモデル(Pythonのソフトウェア)で働いています
  • いくつかのパラメータを変更して実験を実行します
  • 次に、実験の結果を (ピクルスとして) 保存します。
  • 次に、別のソフトウェア (IPython Notebooks) を使用して (漬けた) 結果を分析します。

Git と Scientific Reproducibilityをガイドとして使用しています。ここでは、実験の結果がコミットのハッシュに沿ってテーブルに保存されます。代わりに、結果をディレクトリに保存し、ディレクトリにハッシュの名前を付けたいと思います。

codeバージョン管理を考えて、とを分離したいと思いanalysisます。たとえば、IPython ノートブックのプロットの色をanalysis変更しても、何も変更されるべきではありません。code

私が考えているアプローチ:

次のようなディレクトリ構造:

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

codeとの異なる Git リポジトリ。Git はanalysis除外simulation_resultsします。

コメントはありますか?より良い解決策はありますか?ありがとう。

4

1 に答える 1

4

それは健全なようで、あなたの構造は を使用して親 git リポジトリgit submodulesになるのに適しています。model

そうすれば、リポジトリ内codeで とanalysisSHA1をリンクできますmodel

model/simulation_resultsつまり、リポジトリ (「親」リポジトリ)の SHA1 に基づいて、プライベート (つまり、バージョン管理されていない) ディレクトリ内にディレクトリを作成できることを意味します。その SHA1 は、とサブモジュールmodelの両方の SHA1 をリンクします。つまり、実験を正確に再現できます(ベースとの両方の正確な内容について)。projectanalysisprojectanalysis

于 2013-01-24T15:37:04.797 に答える