다양한 실험 설정을 빠르게 시도하고 반복할 수 있게 해줌
중앙 집중식 구성 파일을 통해 모든 설정을 관리
할 수 있으며, 이 파일들은 실행 시점에 조합하거나 수정할 수 있음
설정 값에 직접 접근하는 대신, Hydra를 사용하면 설정을 자동으로 로드하고, 함수나 객체 내에서 사용할 수 있도록 해줍니다.
결과를 저장하기 위한 새로운 디렉토리를 자동으로 생성
하고, 실험별로 로그와 출력을 구분하여 저장
Hydra는 pip를 통해 쉽게 설치할 수 있습니다.
pip install hydra-core
Hydra를 사용하여 간단한 스크립트를 설정 관리하도록 구성할 수 있습니다. 다음은 Hydra를 사용한 기본 예제 코드입니다:
import hydra
from omegaconf import DictConfig
@hydra.main(config_name="config.yaml")
def main(cfg: DictConfig):
print("Hello, ", cfg.name)
if __name__ == "__main__":
main()
여기서 config.yaml
은 다음과 같이 생겼을 수 있습니다:
name: world
Hydra는 여러 설정 파일을 조합하여 사용할 수 있습니다. 예를 들어, 데이터베이스 설정, 애플리케이션 설정 등을 별도의 파일로 분리하여 관리할 수 있으며, 실행 시 이를 조합하여 사용합니다.
명령줄에서 직접 설정 값을 오버라이드할 수 있습니다. 예를 들어, 위 스크립트를 다음과 같이 실행할 수 있습니다:
python script.py name=alice
name
값을 "alice"로 오버라이드하여 실행합니다.