class Settings
W&B SDK용 Settings입니다.
이 클래스는 W&B SDK의 설정 값을 관리하며,
모든 설정에 대해 타입 안전성과 검증을 보장합니다. Settings는
속성으로 접근할 수 있고, 코드에서 직접 초기화하거나, 환경 변수(WANDB_ 접두사),
그리고 설정 파일을 통해 초기화할 수 있습니다.
Settings는 다음 세 가지 범주로 구성됩니다:
- Public settings: 사용자가 자신의 필요에 맞게 W&B의 동작을 안전하게 변경할 수 있는 핵심 설정 옵션입니다.
- Internal settings: ‘x_’ 접두사가 붙은 설정으로, 저수준 SDK 동작을 처리합니다. 이러한 설정은 주로 내부 사용 및 디버깅용입니다. 수정은 가능하지만, 공개 API의 일부로 간주되지 않으며 향후 버전에서 예고 없이 변경될 수 있습니다.
- Computed settings: 다른 설정이나 환경으로부터 자동으로 계산되는 읽기 전용 설정입니다.
메서드 Settings.__init__
-
allow_offline_artifacts(bool): 오프라인 모드에서 테이블 아티팩트를 동기화할 수 있게 할지 여부를 지정하는 플래그입니다. 이전 동작으로 되돌리려면 이 값을 False로 설정하세요. -
allow_val_change(bool):Config값이 설정된 후에도 수정할 수 있도록 허용하는 플래그입니다. -
anonymous(object): 사용이 중단되었으며 향후 제거될 예정입니다. -
api_key(Optional[str]): W&B API 키. -
azure_account_url_to_access_key(Optional[Dict[str, str]]): Azure 인테그레이션을 위해 Azure 계정 URL을 해당 액세스 키에 매핑하는 딕셔너리입니다. -
app_url_override(Optional[str]): W&B UI의 ‘app’ URL을 덮어쓰는 값입니다.app_url은 일반적으로base_url을 기반으로 계산되지만, 이 값을 사용해 직접 명시적으로 설정할 수 있습니다. WANDB_APP_URL은 이에 해당하는 환경 변수입니다. -
base_url(str): 데이터 동기화를 위한 W&B 백엔드 URL입니다. -
code_dir(Optional[str]): W&B에서 추적할 코드가 들어 있는 디렉터리입니다. -
config_paths(Optional[Sequence]): 설정을Config객체에 로드할 때 사용할 파일 경로입니다. -
console(Literal[‘auto’, ‘off’, ‘wrap’, ‘redirect’, ‘wrap_raw’, ‘wrap_emu’]): 적용할 콘솔 캡처 유형을 지정합니다. 가능한 값은 다음과 같습니다:- “auto” - 시스템 환경과 설정에 따라 콘솔 캡처 방식을 자동으로 선택합니다.
- “off” - 콘솔 캡처를 비활성화합니다.
- “redirect” - 출력을 캡처하기 위해 저수준 파일 디스크립터를 리디렉션합니다.
- “wrap” - sys.stdout/sys.stderr의 write 메서드를 오버라이드합니다. 시스템 상태에 따라 “wrap_raw” 또는 “wrap_emu”로 매핑됩니다.
- “wrap_raw” - “wrap”과 동일하지만, 에뮬레이터를 거치지 않고 원시 출력을 직접 캡처합니다.
wrap설정에서 파생되며 수동으로 설정하면 안 됩니다. - “wrap_emu” - “wrap”과 동일하지만, 에뮬레이터를 통해 출력을 캡처합니다.
wrap설정에서 파생되며 수동으로 설정하면 안 됩니다.
-
console_multipart(bool): 멀티파트 콘솔 로깅을 활성화합니다. True이면 SDK는 콘솔 출력을 단일output.log대신logs/디렉터리 아래의 타임스탬프가 붙은 파일들에 기록합니다. 각 파트는 닫히는 즉시 업로드되며, 이로 인해 run 이 활성 상태일 때 사용자가 로그에 실시간으로 액세스할 수 있습니다. 롤오버 주기는console_chunk_max_bytes및/또는console_chunk_max_seconds로 제어됩니다. 두 제한이 모두0이면, 모든 로그는 run 이 종료될 때 한 번에 업로드됩니다. 참고: 업로드된 청크는 변경할 수 없습니다(immutable). 이전 줄을 수정하는 터미널 제어 시퀀스(예: 캐리지 리턴을 사용하는 진행률 표시줄)는 현재 청크에만 영향을 미칩니다. -
console_chunk_max_bytes(int): 멀티파트 콘솔 로그에 대한, 바이트 단위 크기 기준 롤오버 임계값입니다. 현재 파트의 크기가 이 값에 도달하면 새로운 콘솔 로그 파일을 시작합니다.console_multipart가True일 때만 효과가 있습니다.console_chunk_max_seconds와 함께 사용할 수 있으며, 둘 중 먼저 도달한 한도가 롤오버를 트리거합니다. 값이0이면 크기 기반 제한을 비활성화합니다. -
console_chunk_max_seconds(int): 멀티파트 콘솔 로그에 대한 시간 기준 롤오버 임계값(초 단위)입니다. 현재 파트가 시작된 후 지정된 초가 경과하면 새 콘솔 로그 파일을 시작합니다.console_multipart가True여야 합니다.console_chunk_max_bytes와 함께 사용할 수 있으며, 둘 중 먼저 도달한 한도가 현재 파트를 종료합니다. 값이0이면 시간 기반 제한이 비활성화됩니다. -
credentials_file(str): 임시 액세스 토큰을 저장할 파일 경로입니다. -
disable_code(bool): 코드 캡처를 비활성화할지 여부를 나타냅니다. -
disable_git(bool): Git 상태 캡처를 비활성화할지 여부입니다. -
disable_job_creation(bool): W&B Launch용 job 아티팩트 생성을 비활성화할지 여부. -
docker(Optional[str]): 스크립트 실행에 사용되는 Docker 이미지입니다. -
email(Optional[str]): 사용자의 이메일 주소입니다. -
entity(Optional[str]): W&B entity로, 예를 들어 사용자 또는 팀을 나타냅니다. -
organization(Optional[str]): W&B 조직입니다. -
force(bool):wandb.login()에force플래그를 전달할지 여부를 지정합니다. -
fork_from(Optional[RunMoment]): 이전 run 실행에서 포크(fork)를 시작할 지점을 지정합니다. 이 지점은 run ID, 메트릭 및 해당 값으로 정의됩니다. 현재는 메트릭 ‘_step’만 지원합니다. -
git_commit(Optional[str]): run에 연결할 git 커밋 해시입니다. -
git_remote(str): run에 연결할 git remote입니다. -
git_remote_url(Optional[str]): Git 원격 저장소의 URL입니다. -
git_root(Optional[str]): git 저장소의 루트 디렉터리입니다. -
host(Optional[str]): 스크립트를 실행하는 머신의 호스트 이름입니다. -
http_proxy(Optional[str]): W&B로 보내는 HTTP 요청에 사용할 사용자 지정 프록시 서버. -
https_proxy(Optional[str]): W&B로 보내는 https 요청에 사용할 사용자 정의 프록시 서버입니다. -
identity_token_file(Optional[str]): 인증에 사용할 identity 토큰(JWT)이 들어 있는 파일 경로입니다. -
ignore_globs(Sequence):files_dir를 기준으로 하는 Unix 글롭 패턴 시퀀스로, 업로드에서 제외할 파일을 지정합니다. -
init_timeout(float):wandb.init호출이 타임아웃되기 전에 완료되기를 기다리는 시간(초 단위)입니다. -
insecure_disable_ssl(bool): SSL 검증을 보안상 안전하지 않게 비활성화할지 여부입니다. -
job_name(Optional[str]): 스크립트를 실행 중인 Launch 잡의 이름입니다. -
job_source(Optional[Literal[‘repo’, ‘artifact’, ‘image’]]): Launch에서 사용하는 소스 유형입니다. -
label_disable(bool): 자동 레이블 지정 기능을 비활성화할지 여부입니다. -
launch_config_path(Optional[str]): Launch 설정 파일 경로입니다. -
login_timeout(Optional[float]): 로그인 작업이 시간 초과되기 전까지 대기할 시간(초)입니다. -
mode(Literal[‘online’, ‘offline’, ‘shared’, ‘disabled’, ‘dryrun’, ‘run’]): W&B 로깅 및 동기화를 위한 운영 모드입니다. -
notebook_name(Optional[str]): Jupyter와 유사한 환경에서 실행 중인 경우 노트북 이름입니다. -
program(Optional[str]): 알 수 있는 경우, run을 생성한 스크립트의 경로입니다. -
program_abspath(Optional[str]): run을 생성한 스크립트까지의, 루트 리포지토리 디렉터리에서의 절대 경로입니다. 루트 리포지토리 디렉터리는.git디렉터리를 포함하고 있다면 그 디렉터리를 담고 있는 디렉터리이며, 그렇지 않은 경우 현재 작업 디렉터리로 정의됩니다. -
program_relpath(Optional[str]): run을 생성한 스크립트에 대한 상대 경로입니다. -
project(Optional[str]): W&B 프로젝트의 ID입니다. -
quiet(bool): 부가적인 출력 내용을 숨기는 플래그입니다. -
reinit(Union[Literal[‘default’, ‘return_previous’, ‘finish_previous’, ‘create_new’], bool]): 활성 상태인 run 이 있을 때wandb.init()이 호출되면 어떤 동작을 할지 지정합니다. Options:- “default”: 노트북에서는 “finish_previous”를 사용하고, 그 외의 경우에는 “return_previous”를 사용합니다.
- “return_previous”: 아직 종료되지 않은, 가장 최근에 생성된 run을 반환합니다.
이 옵션은
wandb.run을 업데이트하지 않습니다. “create_new” 옵션을 참고하세요. - “finish_previous”: 활성 상태의 모든 run을 종료한 다음, 새 run을 반환합니다.
- “create_new”: 다른 활성 run을 변경하지 않고 새 run을 생성합니다.
wandb.run및wandb.log같은 최상위 함수를 업데이트하지 않습니다. 이로 인해 전역 run에 의존하는 일부 구형 인테그레이션은 동작하지 않을 수 있습니다. 이 옵션은 boolean 값으로도 설정할 수 있지만, 더 이상 권장되지 않습니다. False는 “return_previous”와 같고, True는 “finish_previous”와 같습니다.
-
relogin(bool): 새 로그인 시도를 강제로 수행하도록 하는 플래그입니다. -
resume(Optional[Literal[‘allow’, ‘must’, ‘never’, ‘auto’]]): run 재개 동작을 지정합니다. Options:- “must”: 동일한 ID를 가진 기존 run에서 재개합니다. 해당 run이 없으면 실패합니다.
- “allow”: 동일한 ID를 가진 기존 run에서 재개를 시도합니다. 그런 run이 없으면 새 run을 생성합니다.
- “never”: 항상 새 run을 시작합니다. 동일한 ID의 run이 이미 존재하면 실패합니다.
- “auto”: 동일한 머신에서 가장 최근에 실패한 run에서 자동으로 재개합니다.
-
resume_from(Optional[RunMoment]): 이전 run 실행의 특정 시점부터 재개할 위치를 지정합니다. 이 시점은 run ID, 메트릭, 그리고 해당 값으로 정의됩니다. 현재는 메트릭 ‘_step’만 지원됩니다. -
root_dir(str): 모든 run 관련 경로의 기준이 될 루트 디렉터리입니다. 특히 이 값은 wandb 디렉터리와 run 디렉터리를 결정할 때 사용됩니다. -
run_group(Optional[str]): 관련된 run의 그룹 식별자입니다. UI에서 run을 그룹화할 때 사용됩니다. -
run_id(Optional[str]): run의 ID입니다. -
run_job_type(Optional[str]): 실행되는 작업의 유형(예: 트레이닝, 평가). -
run_name(Optional[str]): 해당 run의 사람이 읽을 수 있는 이름입니다. -
run_notes(Optional[str]): run에 대한 추가 메모 또는 설명. -
run_tags(Optional[Tuple[str, Ellipsis]]): run을 구성하고 필터링할 때 연결할 태그입니다. -
sagemaker_disable(bool): SageMaker 전용 기능을 비활성화할지 여부를 지정하는 플래그입니다. -
save_code(Optional[bool]): 해당 run과 관련된 코드를 저장할지 여부입니다. -
settings_system(Optional[str]): 시스템 전역 설정 파일 경로입니다. -
max_end_of_run_history_metrics(int): run 종료 시 표시할 히스토리 스파크라인의 최대 개수입니다. -
max_end_of_run_summary_metrics(int): run 종료 시 표시할 요약 메트릭의 최대 개수입니다. -
show_errors(bool): 오류 메시지를 표시할지 여부를 지정합니다. -
show_info(bool): 정보 메시지를 표시할지 여부입니다. -
show_warnings(bool): 경고 메시지 표시 여부입니다. -
silent(bool): 모든 출출력을 숨길지 여부를 지정하는 플래그입니다. -
strict(Optional[bool]): 검증 및 오류 검사를 위한 strict 모드 활성화 여부입니다. -
summary_timeout(int): 요약 연산이 시간 초과되기 전까지 대기하는 시간(초)입니다. -
sweep_id(Optional[str]): 이 run이 속한 스윕을 식별하는 ID입니다. -
sweep_param_path(Optional[str]): 스윕 파라미터 설정 경로입니다. -
symlink(bool): symlink 사용 여부입니다 (Windows를 제외하고 기본값은 True입니다). -
sync_tensorboard(Optional[bool]): TensorBoard 로그를 W&B와 동기화할지 여부를 지정합니다. -
table_raise_on_max_row_limit_exceeded(bool): 테이블 행 최대 한도를 초과했을 때 예외를 발생시킬지 여부입니다. -
use_dot_wandb(Optional[bool]): run 데이터에 숨겨진.wandb디렉터리를 사용할지, 아니면 보이는wandb디렉터리를 사용할지 여부입니다. True이면 SDK는.wandb를 사용합니다. False이면wandb를 사용합니다. 설정하지 않으면.wandb가 이미 존재하는 경우 기본값으로.wandb를, 그렇지 않으면wandb를 사용합니다. -
username(Optional[str]): 사용자 이름. -
x_disable_meta(bool): 시스템 메타데이터 수집을 비활성화하는 플래그입니다. -
x_disable_stats(bool): 시스템 메트릭 수집을 비활성화하기 위한 플래그입니다. -
x_extra_http_headers(Optional[Dict[str, str]]): 모든 발신 HTTP 요청에 포함할 추가 헤더입니다. -
x_label(Optional[str]): run에 대해 수집된 시스템 메트릭과 콘솔 로그에 할당할 레이블입니다. 프런트엔드에서 데이터를 그룹화하는 데 사용되며, 분산 트레이닝 작업에서 서로 다른 프로세스에서 생성된 데이터를 구분하는 데 사용할 수 있습니다. -
x_primary(bool): 내부 wandb 파일과 메타데이터를 저장할지 여부를 결정합니다. 분산 환경에서, 기본 프로세스가 주요 로깅을 처리하고 보조 프로세스에서는 시스템 메트릭과 로그만 필요할 때 파일이 덮어써지는 것을 방지하는 데 유용합니다. -
x_save_requirements(bool): requirements 파일 저장 여부를 나타내는 플래그입니다. -
x_server_side_derived_summary(bool): 히스토리로부터의 요약을 서버 측에서 자동으로 계산하도록 위임하는 플래그입니다. 이는 사용자가 직접 제공하는 요약 업데이트를 비활성화하지 않습니다. -
x_service_wait(float): wandb-core 내부 서비스가 시작될 때까지 대기하는 시간(초)입니다. -
x_skip_transaction_log(bool): run 이벤트를 트랜잭션 로그에 저장하지 않을지 여부입니다. 온라인 run에만 해당하며, 디스크에 기록되는 데이터 양을 줄이는 데 사용할 수 있습니다. 복구 가능성에 대한 보장이 사라지므로 주의해서 사용해야 합니다. -
x_stats_sampling_interval(float): 시스템 모니터의 샘플링 간격(초 단위)입니다. -
x_stats_dcgm_exporter(Optional[str]): Nvidia DCGM 메트릭을 가져올 엔드포인트입니다. 옵션:- Prometheus의
/api/v1/query엔드포인트에 대한 쿼리에서 DCGM 관련 메트릭을 추출합니다. Prometheus를 사용하여 클러스터의 서로 다른 노드에서 실행 중인 DCGM Exporter 인스턴스가 보고하는 메트릭을 집계하는 것은 일반적인 패턴입니다. - TODO: DCGM Exporter의
/metrics엔드포인트에서 메트릭을 직접 파싱합니다. 예시: http://localhost:9400/api/v1/query?query=DCGM_FI_DEV_GPU_TEMP{node="l1337", cluster="globular"}.
- Prometheus의
-
x_stats_open_metrics_endpoints(Optional[Dict[str, str]]): 시스템 메트릭을 모니터링하기 위한 OpenMetrics/metrics엔드포인트입니다. -
x_stats_open_metrics_filters(Union[Dict[str, Dict[str, str]], Sequence, None]): OpenMetrics의/metrics엔드포인트에서 수집된 메트릭에 적용할 필터입니다. 다음 두 가지 형식을 지원합니다:{"metric regex pattern, including endpoint name as prefix": {"label": "label value regex pattern"}}("metric regex pattern 1", "metric regex pattern 2", ...)
-
x_stats_open_metrics_http_headers(Optional[Dict[str, str]]): OpenMetrics 요청에 추가할 HTTP 헤더입니다. -
x_stats_disk_paths(Optional[Sequence]): 디스크 사용량을 모니터링할 시스템 경로 목록. -
x_stats_cpu_count(Optional[int]): 시스템 CPU 개수입니다. 설정하면 run 메타데이터에서 자동으로 감지된 값을 덮어씁니다. -
x_stats_cpu_logical_count(Optional[int]): 논리 CPU 수입니다. 설정하면 run 메타데이터에서 자동으로 감지된 값을 재정의합니다. -
x_stats_gpu_count(Optional[int]): GPU 디바이스 수입니다. 설정하면 run 메타데이터에서 자동으로 감지된 값을 재정의합니다. -
x_stats_gpu_type(Optional[str]): GPU 장치 유형입니다. 설정하면 run 메타데이터의 자동 감지 값을 덮어씁니다. -
x_stats_gpu_device_ids(Optional[Sequence]): 모니터링할 GPU 디바이스 인덱스입니다. 설정하지 않으면 시스템 모니터가 모든 GPU에 대한 메트릭을 수집합니다. CUDA/ROCm 디바이스 열거와 일치하는 0부터 시작하는 인덱스라고 가정합니다. -
x_stats_track_process_tree(bool):x_stats_pid부터 시작하여 전체 프로세스 트리의 리소스 사용량을 모니터링합니다.True인 경우, 시스템 모니터는 PID가x_stats_pid인 프로세스와 그 모든 하위 프로세스의 RSS, CPU%, 스레드 수를 합산합니다. 이는 성능 오버헤드를 초래할 수 있으므로, 기본적으로 비활성화되어 있습니다. -
x_sync_dir_suffix(str): run의 디렉터리 이름(sync_dir)에 추가할 접미사입니다. 이 값은 이름 충돌을 피하기 위해 wandb.init()에서 설정됩니다. 설정된 경우 기본 이름에 대시(-)로 이어 붙여 추가됩니다. -
x_update_finish_state(bool): 이 프로세스가 서버에서 run의 최종 상태를 업데이트할 수 있는지 여부를 나타내는 플래그입니다. 분산 트레이닝에서는 최종 상태를 메인 프로세스만 결정해야 하는 경우 False로 설정합니다.
Settings 객체를 반환합니다.
property Settings.app_url
W&B UI의 URL로, 일반적으로 https://wandb.ai 입니다.
이는 W&B API에 프로그래밍 방식으로 액세스하는 데 사용되는
base_url(예: https://api.wandb.ai )과는 다릅니다.
반환값:
str: app_url 속성 값.
property Settings.colab_url
Colab에서 실행 중이라면 Colab 노트북의 URL입니다.
반환값:
Optional[str]: colab_url 속성 값입니다.
property Settings.deployment
property Settings.files_dir
run의 파일이 저장된 로컬 디렉터리의 절대 경로입니다.
반환:
str: files_dir 속성 값입니다.
property Settings.is_local
property Settings.log_dir
로그 파일을 저장하는 디렉터리입니다.
반환값:
str:log_dir속성 값입니다.
property Settings.log_internal
내부 로그를 기록할 파일 경로입니다.
반환값:
str: log_internal 속성 값입니다.
property Settings.log_symlink_internal
가장 최근 run의 내부 로그 파일을 가리키는 심볼릭 링크 경로입니다.
반환값:
str: log_symlink_internal 프로퍼티 값.
property Settings.log_symlink_user
가장 최근 run의 사용자 프로세스 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
반환값:
str: log_symlink_user 속성의 값입니다.
property Settings.log_user
사용자 프로세스 로그를 기록할 파일 경로입니다.
반환 값:
str: log_user 속성의 값입니다.
property Settings.project_url
프로젝트를 확인할 수 있는 W&B URL입니다.
Returns:
str: project_url 속성의 값입니다.
property Settings.resume_fname
resume 파일의 경로입니다.
반환값:
str:resume_fname속성 값입니다.
property Settings.run_mode
run의 모드를 나타냅니다. “run” 또는 “offline-run”일 수 있습니다.
반환값:
Literal['run', 'offline-run']: run_mode 속성 값입니다.
property Settings.run_url
run을 확인할 수 있는 W&B URL입니다.
Returns:
str: run_url 속성의 값입니다.
property Settings.settings_workspace
워크스페이스 설정 파일의 경로입니다.
반환값:
str:settings_workspace속성 값입니다.
property Settings.sweep_url
스윕을 볼 수 있는 W&B URL입니다.
Returns:
str: sweep_url 프로퍼티 값입니다.
property Settings.sync_dir
run의 파일을 저장하는 디렉터리입니다.
Returns:
str: sync_dir 프로퍼티의 값.
property Settings.sync_file
append-only 형식의 바이너리 트랜잭션 로그 파일 경로입니다.
반환값:
str:sync_file속성 값입니다.
property Settings.sync_symlink_latest
가장 최근 run의 트랜잭션 로그 파일을 가리키는 심볼릭 링크 경로입니다.
반환값:
str:sync_symlink_latest속성 값입니다.
property Settings.timespec
run에 대한 시간 지정값입니다.
반환값:
str: timespec 속성 값입니다.
property Settings.wandb_dir
wandb 디렉터리의 전체 경로입니다.
반환값:
str: wandb_dir 프로퍼티의 값.