initial commit FESurrogateModelTutorial
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"project": "FEMSurrogateTutorial",
|
||||
"phase": "2-dataset-and-surrogates",
|
||||
"steps": [
|
||||
{
|
||||
"step": 0,
|
||||
"name": "sampling-and-dataset",
|
||||
"status": "completed",
|
||||
"summary": "Added reproducible LHS sampling, BeamParameters/AnalysisResult schema, and Beam2D dataset builder using the in-repository solver."
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"name": "surrogate-common",
|
||||
"status": "completed",
|
||||
"summary": "Added reproducible dataset split helper, evaluation result dataclasses, regression metrics, fit/predict timing, and prediction table generation."
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"name": "surrogate-models",
|
||||
"status": "completed",
|
||||
"summary": "Added scikit-learn builders and registry for RSM, GPR, Random Forest, Gradient Boosting, and MLP models."
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"name": "plotting-and-results",
|
||||
"status": "completed",
|
||||
"summary": "Added parity and residual diagnostic plots, metrics table creation, and metric comparison plot helpers returning matplotlib figures."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# Step 0: sampling-and-dataset
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/theory/01_doe_sampling_validation.md`
|
||||
- `/src/femsurrogate/fea/`
|
||||
|
||||
## 작업
|
||||
|
||||
TDD로 LHS sampling과 Beam2D dataset builder를 구현한다.
|
||||
|
||||
- 테스트: `/tests/test_sampling.py`, `/tests/test_dataset_builder.py`.
|
||||
- 구현: `/src/femsurrogate/data/bounds.py`, `schema.py`, `sampling.py`, `dataset.py`.
|
||||
- 기본 seed는 `20260521`.
|
||||
- dataset schema는 문서의 SI 단위 컬럼을 따른다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
uv run pytest tests/test_sampling.py tests/test_dataset_builder.py -q
|
||||
uv run ruff check .
|
||||
```
|
||||
|
||||
## 금지사항
|
||||
|
||||
- surrogate 학습을 이 step에 넣지 마라.
|
||||
@@ -0,0 +1,26 @@
|
||||
# Step 1: surrogate-common
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/src/femsurrogate/data/`
|
||||
|
||||
## 작업
|
||||
|
||||
TDD로 surrogate 공통 split/evaluate/result helper를 구현한다.
|
||||
|
||||
- 테스트: `/tests/test_surrogate_common.py`.
|
||||
- 구현: `/src/femsurrogate/surrogates/common.py`.
|
||||
- metrics는 `rmse`, `mae`, `r2`, `fit_time_s`, `predict_time_s`를 포함한다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
uv run pytest tests/test_surrogate_common.py -q
|
||||
uv run ruff check .
|
||||
```
|
||||
|
||||
## 금지사항
|
||||
|
||||
- 개별 모델 builder를 이 step에 섞지 마라.
|
||||
@@ -0,0 +1,30 @@
|
||||
# Step 2: surrogate-models
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/theory/02_response_surface_methodology.md`
|
||||
- `/docs/theory/03_gaussian_process_kriging.md`
|
||||
- `/docs/theory/04_random_forest.md`
|
||||
- `/docs/theory/05_gradient_boosting.md`
|
||||
- `/docs/theory/06_mlp_neural_network.md`
|
||||
- `/src/femsurrogate/surrogates/common.py`
|
||||
|
||||
## 작업
|
||||
|
||||
TDD로 모델별 scikit-learn pipeline builder와 registry를 구현한다.
|
||||
|
||||
- 테스트: `/tests/test_surrogate_models.py`.
|
||||
- 구현: `rsm.py`, `gpr.py`, `random_forest.py`, `boosting.py`, `mlp.py`, `registry.py`.
|
||||
- 모델명: `rsm`, `gpr`, `random_forest`, `gradient_boosting`, `mlp`.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
uv run pytest tests/test_surrogate_models.py -q
|
||||
uv run ruff check .
|
||||
```
|
||||
|
||||
## 금지사항
|
||||
|
||||
- PyTorch/TensorFlow, AutoML, MLflow를 추가하지 마라.
|
||||
@@ -0,0 +1,26 @@
|
||||
# Step 3: plotting-and-results
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/src/femsurrogate/surrogates/`
|
||||
|
||||
## 작업
|
||||
|
||||
TDD로 diagnostics plotting과 result comparison helper를 구현한다.
|
||||
|
||||
- 테스트: `/tests/test_plotting_and_results.py`.
|
||||
- 구현: `/src/femsurrogate/plotting/diagnostics.py`, `/src/femsurrogate/plotting/comparison.py`.
|
||||
- plotting 함수는 matplotlib Figure를 반환한다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
uv run pytest tests/test_plotting_and_results.py -q
|
||||
uv run ruff check .
|
||||
```
|
||||
|
||||
## 금지사항
|
||||
|
||||
- browser dashboard를 만들지 마라.
|
||||
Reference in New Issue
Block a user