이 프로젝트는 데이터 전처리, 모델 학습, 추론, 평가까지의 전 과정을 체계적으로 관리할 수 있도록 구성되어 있습니다.
project/
├── README.md # 프로젝트 개요·설치·사용법
├── requirements.txt # Python 패키지 목록 (pip)
├── .gitignore # Git 추적 제외 목록
│
├── config/ # 하이퍼파라미터·경로·설정 파일
│ ├── default.yaml
│ ├── train.yaml
│ └── infer.yaml
│
├── data/ # 원본(raw)→전처리(processed) 데이터
│ ├── raw/
│ └── processed/
│
├── notebooks/ # 탐색·시각화용 Jupyter 노트북
│ └── 01_exploration.ipynb
│
├── src/ # 실제 실행 코드
│ ├── model/ # 모델 코드
│ ├── __init__.py
│ ├── data_loader.py # Dataset/Dataloader 정의
│ ├── preprocess.py # 전처리 스크립트
│ ├── train.py # 학습 파이프라인
│ ├── infer.py # 추론 스크립트
│ ├── evaluate.py # 평가 코드
│ └── utils.py # 공용 유틸 함수
│
├── experiments/ # 실험별 로그·체크포인트·결과
│ └── exp_20250510_lr001/
│ ├── config.yaml
│ ├── checkpoints/
│ ├── logs/
│ └── metrics.csv
- README.md: 프로젝트 개요, 설치 방법, 사용법, 구조 설명 등 문서화
- requirements.txt: 프로젝트에 필요한 Python 패키지 목록
- .gitignore: Git에서 추적하지 않을 파일/폴더 목록
- default.yaml, train.yaml, infer.yaml: 하이퍼파라미터, 데이터 경로, 실험 환경 등 설정 파일
- raw/: 원본 데이터 저장 폴더
- processed/: 전처리된 데이터 저장 폴더
- 01_exploration.ipynb: 데이터 탐색, 분석, 시각화 등 Jupyter 노트북
- data_loader.py: 데이터셋 및 DataLoader 정의
- preprocess.py: 데이터 전처리 스크립트
- model.py: 모델 아키텍처 정의
- train.py: 모델 학습 파이프라인
- infer.py: 추론 스크립트
- evaluate.py: 평가 코드
- utils.py: 공용 함수 및 유틸리티
- 실험별로 하위 폴더를 두어 config, 체크포인트, 로그, 결과(metrics.csv) 등을 관리
- 예시:
exp_20250510_lr001/는 2025년 5월 10일, learning rate=0.01 실험 결과 폴더
- 의존성 설치
pip install -r requirements.txt
- 데이터 전처리
python src/preprocess.py
- 모델 학습
python src/train_main.py --config config/train.yaml
- 추론
python src/infer.py --config config/infer.yaml
- 평가
python src/evaluate.py
- 실험별 폴더와 config 파일을 분리해 실험 재현성과 관리 용이성을 높였습니다.
- Jupyter 노트북을 통해 데이터 탐색 및 시각화가 가능합니다.
- 코드, 데이터, 실험 결과를 체계적으로 관리할 수 있습니다.
wandb sweep sweep.yamlwandb agent steven0914/hyunuk/DDFH/전처리 방법
python src/preprocess.py data/raw/매우졸림2.csv data/raw/temp --label_col drowsiness