Skip to main content
run의 config 속성을 사용하여 트레이닝 설정을 저장하세요:
  • 하이퍼파라미터
  • 데이터셋 이름이나 모델 유형과 같은 입력 설정
  • 실험에 사용하는 기타 독립 변수.
wandb.Run.config 속성을 사용하면 실험을 쉽게 분석하고 나중에 작업을 재현할 수 있습니다. W&B App에서 설정 값별로 그룹화하고, 서로 다른 W&B run의 설정을 비교하고, 각 트레이닝 설정이 출력에 미치는 영향을 평가할 수 있습니다. config 속성은 여러 딕셔너리 유사 객체로 구성할 수 있는 딕셔너리 유사 객체입니다.
출력 메트릭이나 손실 및 정확도와 같은 종속 변수를 저장하려면 wandb.Run.config 대신 wandb.Run.log()를 사용하세요.

실험 설정 구성하기

설정은 일반적으로 트레이닝 스크립트의 시작 부분에서 정의합니다. 하지만 머신러닝 워크플로는 다양할 수 있으므로, 반드시 트레이닝 스크립트의 시작 부분에서 설정을 정의할 필요는 없습니다. 설정 변수 이름에는 마침표(.) 대신 대시(-) 또는 밑줄(_)을 사용하세요. 스크립트에서 루트 아래에 있는 wandb.Run.config 키에 액세스하는 경우, 속성 액세스 구문 config.key.value 대신 딕셔너리 액세스 구문 ["key"]["value"]를 사용하세요. 다음 섹션에서는 실험 설정을 정의하는 일반적인 시나리오 몇 가지를 설명합니다.

초기화 시 설정 지정하기

스크립트 시작 부분에서 wandb.init() API를 호출할 때 딕셔너리를 전달하면, 데이터를 W&B Run으로 동기화하고 로깅하는 백그라운드 프로세스가 생성됩니다. 다음 코드 스니펫은 설정 값이 담긴 Python 딕셔너리를 정의하는 방법과, W&B Run을 초기화할 때 해당 딕셔너리를 인수로 전달하는 방법을 보여줍니다.
중첩된 딕셔너리를 config로 전달하면 W&B는 점을 사용해 이름을 평탄화합니다. Python에서 다른 딕셔너리에 액세스할 때와 같은 방식으로 딕셔너리의 값에 액세스하세요.
개발자 가이드와 예시 전반에서는 설정 값을 별도의 변수에 복사합니다. 이 단계는 선택 사항이며, 가독성을 높이기 위한 것입니다.

argparse로 설정 지정하기

argparse 객체로 설정을 지정할 수 있습니다. 인수 파서(argument parser)의 줄임말인 argparse는 Python 3.2 이상에서 제공되는 표준 라이브러리 모듈로, 명령줄 인수의 유연성과 강력한 기능을 모두 활용하는 스크립트를 쉽게 작성할 수 있게 해줍니다. 명령줄에서 실행되는 스크립트의 결과를 추적할 때 유용합니다. 다음 Python 스크립트는 파서 객체를 정의하여 실험 설정을 정의하고 지정하는 방법을 보여줍니다. train_one_epoch 및 evaluate_one_epoch 함수는 이 예제에서 트레이닝 루프를 시뮬레이션하기 위해 제공됩니다:

스크립트 전반에서 설정 지정하기

스크립트 전반에서 설정 객체에 매개변수를 더 추가할 수 있습니다. 다음 코드 스니펫은 기존 설정 객체에 새 키-값 쌍을 추가하는 방법을 보여줍니다.
여러 값을 한 번에 추가할 수 있습니다. 다음 코드 스니펫은 기존 설정 객체에서 여러 키-값 쌍을 업데이트하는 방법을 보여줍니다.
기존 키의 값을 업데이트하려면 반드시 allow_val_change=True를 설정하세요. 이 매개변수를 설정하지 않고 기존 키의 값을 업데이트하려고 하면 W&B에서 오류가 발생합니다.

run 종료 후 설정 지정하기

W&B Public API를 사용하여 완료된 run의 설정을 업데이트하세요. API에 entity, 프로젝트 이름, run ID를 제공해야 합니다. 이 정보는 run 객체 또는 W&B App에서 확인할 수 있습니다.

설정 값 강조하기

run 개요 페이지 상단의 레퍼런스 섹션에 설정 키를 고정할 수 있습니다. Python SDK에서 설정 키를 하나 이상 고정하려면 wandb.Run.pin_config_keys를 사용하세요. 예를 들어 Grafana 대시보드로 트레이닝 run을 모니터링한다면, 설정에 대시보드 URL을 추가하고 grafana_url 키를 고정하세요.

설정 값 보기

설정 값은 W&B App에서 확인하거나, run 도중 또는 기존 run에서 액세스할 수 있습니다. 로컬 파일 시스템에서도 설정 값에 액세스할 수 있습니다.
W&B App에서 run 설정을 확인하려면 다음 단계를 따르세요.
  1. W&B App에서 프로젝트로 이동하세요.
  2. 확인하려는 run을 선택하세요.
  3. Overview 탭을 선택하세요.
  4. Config 섹션까지 스크롤하세요.
  5. 선택: View raw data를 클릭하면 설정을 JSON 형식으로 볼 수 있습니다.
원시 JSON 형식은 설정 값, 로깅된 메트릭 또는 요약 값으로 선형 플롯을 생성하거나 변환하는 표현식을 작성할 때 유용합니다. 자세한 내용은 Expressions를 참조하세요.

파일 기반 설정

run 스크립트와 같은 디렉터리에 config-defaults.yaml이라는 파일을 두면 run이 이 파일에 정의된 키-값 쌍을 자동으로 읽어 wandb.Run.config에 전달합니다. 다음 코드 스니펫은 config-defaults.yaml YAML 파일의 예시입니다.
config-defaults.yaml에서 자동으로 로드되는 기본값을 wandb.init()의 config 인수에 업데이트된 값을 설정하여 재정의할 수 있습니다. 예를 들어:
config-defaults.yaml 이외의 설정 파일을 불러오려면 --configs command-line 인수를 사용하고 파일 경로를 지정하세요:

설정의 중첩 딕셔너리

run 설정에 중첩된 값을 저장하려면 wandb.init()에 중첩 딕셔너리를 전달하세요. 다음 예시는 config에 중첩된 optimizer 및 training 딕셔너리를 정의합니다:
각 최상위 키에는 value 필드가 있어야 합니다. value에 중첩 딕셔너리를 부여하세요:
Python에서는 딕셔너리 인덱싱을 사용하여 중첩된 값에 액세스하세요. 다음 예시는 run 설정의 중첩된 옵티마이저 딕셔너리에서 learning_rate 값을 가져옵니다.
Public API 필터나 선형 플롯 표현식처럼 경로로 설정 값을 참조하는 경우에는 점 표기법을 사용하세요. 예를 들어 Public API 필터에서는 config.optimizer.learning_rate를, 선형 플롯 표현식에서는 ${config:optimizer.learning_rate}를 사용합니다. 다음 예시는 중첩된 설정으로 run을 생성하고 트레이닝 에포크마다 손실을 로깅합니다. 그런 다음 Public API를 사용하여 학습률이 1e-4인 run을 찾고, 각 run의 이름과 학습률을 출력합니다.
실제로는 일반적으로 별도의 스크립트를 사용하여 run을 생성하고 나중에 필터로 쿼리합니다.

파일 기반 설정 사용 예시

run의 메타데이터가 담긴 YAML 파일과 Python 스크립트의 하이퍼파라미터 딕셔너리가 있다고 가정해 보겠습니다. 둘 다 중첩된 config 객체에 저장할 수 있습니다:

TensorFlow v1 플래그

TensorFlow 플래그를 wandb.Run.config 객체에 직접 전달할 수 있습니다.
마지막 수정일 2026년 9월 30일