- Hydra는
open 파일 없이 설정 파일을 쉽게 불러오고, 키 또는 속성으로 접근할 수 있어 딥러닝 실험 설정 관리에 매우 유용합니다. ⚙️
@hydra.main으로 실행되는 함수는 outputs/{오늘날짜}/{실행시각} 형태의 고유한 실험 폴더를 자동으로 생성하며, 이 폴더 안에 실행된 설정(config.yaml)과 오버라이드된 설정(overrides.yaml)을 저장하여 실험 기록을 남깁니다. 📂
- 런타임에 동적으로 생성되는 실험 폴더의 경로를
HydraConfig.get().runtime.output_dir 코드를 통해 얻어 체크포인트 저장 등 실험 결과 관리에 활용할 수 있습니다. 🎯
--multirun 옵션을 사용하면 하나의 파이썬 실행 명령으로 여러 하이퍼파라미터 조합(예: train.lr=0.0001,0.001)에 대한 실험을 동시에 수행할 수 있으며, 결과는 multirun/{실행시각}/{인덱스} 폴더에 각각 저장됩니다. 🚀
- 전역 범위에 리스트를 두고 각
multirun 실행에서 얻은 메트릭을 이 리스트에 모은 후, 마지막에 저장하여 다양한 하이퍼파라미터 실험 결과를 한눈에 비교하고 분석할 수 있습니다. 📊
- Hydra를 활용하면 각 실험별 체크포인트 관리, 하이퍼파라미터 탐색, 메트릭 기록 등 딥러닝 학습의 일반적인 패턴들을 효율적으로 설계하고 대규모 실험으로 쉽게 확장할 수 있습니다. ✨