ADR-005: peak_analysis / distilTS 패키지 분리¶
Date: 2026-04-14
Status: Proposed
상세 구현 계획: docs/superpowers/plans/2026-04-14-package-separation.md
배경¶
src/DistilTS-ICASSP2026은 외부 참조용으로 클론된 별도 Git 리포지토리인데, 실제 프로젝트 코드(src/peak_analysis)는 이미 독립적으로 재구현되어 있어 직접적인 import 의존은 tests/integration_distilts.py 하나뿐이다. 한편 peak_analysis 내부에 데이터/메트릭/ESS와 KD 코드가 혼재되어 있어 역할 경계가 불명확하다.
결정¶
src/DistilTS-ICASSP2026삭제 — 프로젝트 구동에 불필요- KD 코드를
src/distilTS/로 분리 —peak_analysis는 데이터/메트릭/ESS 전용으로 유지 - 의존 방향:
distilTS→peak_analysis(단방향)
분리 대상¶
distilTS/로 이동하는 파일¶
| 원본 경로 | 이동 경로 |
|---|---|
peak_analysis/losses/kd_losses.py |
distilTS/losses/kd_losses.py |
peak_analysis/losses/aligners.py |
distilTS/losses/aligners.py |
peak_analysis/models/students/* |
distilTS/models/students/ |
peak_analysis/models/teachers/* |
distilTS/models/teachers/ |
peak_analysis/models/graph_wavenet.py |
distilTS/models/graph_wavenet.py |
peak_analysis/models/factory.py |
distilTS/models/factory.py |
peak_analysis/ec_pair_dataset.py |
distilTS/datasets/ec_pair_dataset.py |
peak_analysis/gwn_dataset.py |
distilTS/datasets/gwn_dataset.py |
peak_analysis/trainer.py |
distilTS/trainers/kd_trainer.py |
peak_analysis/ec_pair_trainer.py |
distilTS/trainers/ec_pair_trainer.py |
peak_analysis/에 잔류¶
config.py, data_loader.py, community.py, metrics.py, stats_utils.py, optimization.py, simulation/
최종 구조¶
src/
├── peak_analysis/ ← 데이터 / 메트릭 / ESS
│ ├── config.py
│ ├── data_loader.py
│ ├── community.py
│ ├── metrics.py
│ ├── stats_utils.py
│ ├── optimization.py
│ └── simulation/
│
└── distilTS/ ← Knowledge Distillation
├── datasets/ (ec_pair_dataset, gwn_dataset)
├── losses/ (kd_losses, aligners)
├── models/ (factory, graph_wavenet, students/, teachers/)
└── trainers/ (kd_trainer, ec_pair_trainer)
Import 변경 규칙¶
| Before | After |
|---|---|
from peak_analysis.losses.kd_losses import ... |
from distilTS.losses.kd_losses import ... |
from peak_analysis.models.students import ... |
from distilTS.models.students import ... |
from peak_analysis.ec_pair_dataset import ... |
from distilTS.datasets.ec_pair_dataset import ... |
from peak_analysis.trainer import ... |
from distilTS.trainers.kd_trainer import ... |
from peak_analysis.ec_pair_trainer import ... |
from distilTS.trainers.ec_pair_trainer import ... |
from peak_analysis.gwn_dataset import ... |
from distilTS.datasets.gwn_dataset import ... |
from peak_analysis.config import ... |
변경 없음 (공유) |
from peak_analysis.metrics import ... |
변경 없음 (공유) |
삭제 대상¶
src/DistilTS-ICASSP2026/(전체)tests/integration_distilts.py(유일한 ICASSP2026 의존 테스트)peak_analysis/losses/,peak_analysis/models/(이동 후 원본 삭제)
검증¶
peak_analysis단독 import 성공distilTS단독 import 성공uv run python -m pytest tests/ -v전체 PASS