argument가 복잡할수록 구조화 및 관리가 힘들기 때문에 별도의 config 파일을 프로그램으로 작성하여 관리하는 방법
configuration을 모듈로 세분화해 관리 가능
미리 정의한 configuration을 hydra 환경에서 사용
실행된 hydra 환경에서의 실행기록을 outputs/날짜/시간/.hydra/config.yaml에 저장
어떤 configuration을 사용했는지 모두 기록해 실험관리에 도움됨
configs의 main 역할
각 모듈에서 선택하고 싶은 yaml을 defaults를 통해 저장 가능
별도 조작이 없으면 defaults에 지정된 yaml이 사용됨
python src/train.py models = lighthbm # lightgbm.yaml이 로드됨(config)
python src/train.py models = lightgbm # lightgbm.yaml 이 모두 불러와진다.
(config)
변수 참조 바업
-변수 참조 방법
- ${변수} 형태
- 이때 config.yaml(main config)의 변수는 폴더명 없이 참조 가능
- 다른 폴더의 변수를 참고하기 위해서는 ${폴더명.변수명}
# config.yaml의 monitor 참조
monitor:${monitor}
# model 폴더의 yaml들이 data 폴더의 num_classes 변수를 참조하고 싶은 경우
num_classes:${data.num_classes}