YAML 설정 파일에서 허용되지 않은 key가 조용히 무시되면 오타가 default 값 사용으로 이어져 실험 결과를 잘못 해석할 수 있습니다.
Config 모듈이 받지 못하는 값을 입력했을 때 그대로 지나가게 두는 대신, non configurable key를 감지해 AttributeError를 발생시키면 설정 오류를 초기에 드러낼 수 있습니다.
핵심 정리
YAML 설정 파일에서 허용되지 않은 key가 조용히 무시되면 오타가 default 값 사용으로 이어져 실험 결과를 잘못 해석할 수 있습니다. 잘못된 설정은 시작 단계에서 실패시키는 편이 안전합니다.
- 설정 검증의 목적은 실행을 성공시키는 것이 아니라 잘못된 설정으로 실행되는 일을 막는 것입니다.
- 알 수 없는 YAML key를 무시하면 오타가 default 값 사용으로 이어질 수 있습니다.
- 허용되지 않은 key는 애플리케이션 시작 단계에서 실패시키는 편이 안전합니다.
- predict, backtest, trainer, data 같은 설정 영역은 명시적으로 분리해 관리합니다.
- pandas와 numpy 같은 핵심 라이브러리 버전은 시작 시점에 표시하면 재현성 확인에 도움이 됩니다.
YAML 설정 검증은 작은 편의 기능처럼 보이지만 실험과 배치 작업에서는 결과 신뢰도에 직접 영향을 줍니다. 모르는 key를 조용히 넘기지 않고 빠르게 실패시키면 문제를 더 일찍 발견할 수 있습니다.
이어서 볼 글
- YAML 문법 기초: 들여쓰기, 리스트, 앵커와 별칭 - 허용되지 않은 key 문제를 보기 전 필요한 YAML 구조와 들여쓰기 기본이다.
- 쿠버네티스(K8s, kubernetes) - YAML 설정 파일이 실제 운영 리소스 정의에 쓰이는 대표 사례이다.
Dco-Model에서 configuration 모듈은 크게
DataConfig, BacktestConfig, TrainerConfig, PredictConfig
여기서 yaml에 각각 여러 configurable 값을 주는데, Config 모듈에서 받지 못 하는 값을 입력해도 문제 없이 지나간다.
=> 문제는 오타 등으로 인해 연구자가 key 값을 잘 못 넣는 경우에 에러가 발생하지 않고 그대로 default 값 사용...
이를 방지 하기 위해서, default 값이 입력되지 않으면, 삭제하도록 Config 모듈에 추가...
---
Non variable 값이 yaml에 있는 경우에 AttributeError를 발생시키도록 변경 / 따로 exception catch 없이 application 종료되도록 설정
→ predict / backtest / trainer / data / aim 등은 제외
→ composite attr이 들어와도 application은 종료됨(not allowed by yaml)
추가로 pandas, numpy 버전이 다른 경우에는 application 시작과 동시에 권장 버전 ( 2023. 3. 29 기준 1.4.4 / 1.22.2 ) 표시
'Programming' 카테고리의 다른 글
| 회귀 뜻과 회귀분석, 선형회귀, 로지스틱 회귀 정리 (0) | 2026.05.16 |
|---|---|
| Java 파일 복사와 Object Serialization 예제 (0) | 2026.05.15 |
| Linux 명령어 메모: 네트워크 트래픽, 압축, tar 사용법 (0) | 2026.05.11 |
| Go 언어 특징: goroutine, error 처리, 웹 서버 (0) | 2025.05.25 |
| Windows VSCode Remote SSH로 Linux 개발환경 설정 (1) | 2024.07.20 |
