Подтвердить что ты не робот

Как организовать набор научных экспериментов с помощью Git

Я запускаю эксперименты на модели с рабочим процессом следующим образом:

  • Я работаю в модели (программное обеспечение на Python)
  • Я изменяю некоторые параметры и запускаю эксперимент
  • Затем я сохраню результаты эксперимента (в виде рассола).
  • Затем я проанализирую результаты (маринованные), используя другое программное обеспечение (IPython Notebooks).

Я использую Git и научную воспроизводимость в качестве руководства, где результаты эксперимента хранятся в таблице вдоль хэша коммита. Я хотел бы сохранить результаты в каталоге вместо этого, назвав каталоги как хэши.

Думая о контроле версий, я хотел бы выделить code и analysis. Например, изменение цвета в графике в ноутбуке IPython в analysis не должно ничего менять в code

Подход, о котором я думаю:

Структура каталогов:

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

и разные репозитории Git для code и analysis, оставив simulation_results из Git.

Любые комментарии? Лучшее решение? Спасибо.

4b9b3361

Ответ 1

Это кажется звуковым, и ваша структура была бы хорошей возможностью для использования git submodules, model становясь родительским git репо.

Таким образом, вы будете связывать code и analysis SHA1 в репозитории model.

Это означает, что вы можете создать свой каталог в личном (то есть не версированном) каталоге model/simulation_results на основе SHA1 из model repo ( "родительское" репо): что SHA1 связывает SHA1 как project, так и analysis, что означает, что вы можете точно воспроизвести эксперимент (основанный на точном содержании как project, так и analysis).