2013-01-24 32 views
18

Tôi đang chạy thử nghiệm trên một mô hình, với một quy trình làm việc như thế này:Làm thế nào để tổ chức một loạt các thí nghiệm khoa học sử dụng Git

  • Tôi làm việc trong một mô hình (một phần mềm bằng Python)
  • tôi thay đổi một số thông số và chạy thử nghiệm
  • Sau đó, tôi sẽ lưu trữ kết quả thử nghiệm (dưới dạng dưa chua).
  • Sau đó, tôi sẽ phân tích các kết quả (được chọn) bằng phần mềm khác (Sổ tay IPython).

Tôi đang sử dụng Git and Scientific Reproducibility làm hướng dẫn, trong đó kết quả của thử nghiệm được lưu trữ trong bảng cùng với giá trị băm của cam kết. Tôi muốn lưu trữ các kết quả trong một thư mục thay vào đó, đặt tên cho các thư mục dưới dạng băm.

Suy nghĩ về kiểm soát phiên bản, tôi muốn cách ly các codeanalysis. Ví dụ, một sự thay đổi của màu sắc trong một âm mưu trong một máy tính xách tay IPython trong analysis không nên thay đổi bất cứ điều gì trong code

Phương pháp Tôi đang nghĩ đến:

Một cấu trúc thư mục như thế này:

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

và các kho lưu trữ Git khác nhau cho codeanalysis, để lại simulation_results trong số Git.

Mọi nhận xét? Một giải pháp tốt hơn? Cảm ơn.

+0

Số hex nào trong simulation_results có nghĩa là gì? (Tôi đoán họ là cam kết ID, nhưng tôi bỏ lỡ một số bối cảnh.) –

+0

Tôi duy trì submodules là một cách tiếp cận tốt. Tôi đã chỉnh sửa và chi tiết câu trả lời của tôi. – VonC

+0

Hi Josef, Có thực sự số hex là cam kết ids. – Victor

Trả lời

4

Có vẻ như âm thanh đó và cấu trúc của bạn sẽ phù hợp để sử dụng git submodules, model trở thành repo git chính.

Bằng cách đó, bạn sẽ liên kết với nhau codeanalysis SHA1 trong repo model.

Điều đó có nghĩa bạn có thể tạo thư mục của bạn trong tư nhân (tức là không versioned) thư mục model/simulation_results dựa trên SHA1 của model repo (cha mẹ "" repo): đó SHA1 nối liền SHA1 của cả hai projectanalysis submodules, có nghĩa là bạn có thể tạo lại thử nghiệm chính xác (dựa trên nội dung chính xác của cả hai projectanalysis).

Các vấn đề liên quan