class Settings
W&B SDK 설정을 위한 클래스입니다.
이 클래스는 W&B SDK의 구성 설정을 관리하며,
모든 설정에 대해 형 안전성과 유효성 검사를 보장합니다. 설정은
속성으로 접근할 수 있으며, 프로그램 코드, 환경 변수 (WANDB_ 접두사),
그리고 설정 파일을 통해 초기화할 수 있습니다.
설정은 다음 세 가지 범주로 나뉩니다:
- 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 key. -
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/디렉터리 아래의 타임스탬프가 있는 파일들에 기록합니다. 각 청크는 닫히는 즉시 업로드되므로, 실행이 진행 중인 동안 사용자는 로그에 실시간으로 접근할 수 있습니다. 롤오버 빈도는console_chunk_max_bytes및/또는console_chunk_max_seconds로 제어합니다. 두 제한이 모두0이면, 모든 로그는 실행이 종료될 때 한 번에 업로드됩니다. 참고: 업로드된 청크는 수정할 수 없습니다. 이전 줄을 수정하는 터미널 제어 시퀀스(예: 캐리지 리턴을 사용하는 진행 표시줄)는 현재 청크에만 영향을 줍니다. -
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용 잡 아티팩트 생성을 비활성화할지 여부입니다. -
docker(Optional[str]): 스크립트를 실행하는 데 사용할 Docker 이미지입니다. -
email(Optional[str]): 사용자의 이메일 주소. -
entity(Optional[str]): W&B 엔터티(예: 사용자 또는 팀). -
organization(Optional[str]): W&B 조직. -
force(bool):wandb.login()에force플래그를 전달할지 여부를 나타냅니다. -
fork_from(Optional[RunMoment]): 이전 실행의 어느 시점에서 분기할지 지정합니다. 이 시점은 실행 ID, metric 이름, 그리고 그 값으로 정의됩니다. 현재는 metric ‘_step’만 지원합니다. -
git_commit(Optional[str]): 실행에 연관 지을 git 커밋 해시입니다. -
git_remote(str): 실행에 연결할 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 glob 패턴 시퀀스입니다. -
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]): 실행을 생성한 스크립트의 경로입니다(있는 경우). -
program_abspath(Optional[str]): 실행을 생성한 스크립트까지의 절대 경로(루트 리포지토리 디렉터리 기준)입니다. 루트 리포지토리 디렉터리는 .git 디렉터리를 포함하는 디렉터리가 존재하는 경우 그 디렉터리를 포함하는 디렉터리이고, 그렇지 않으면 현재 작업 디렉터리가 루트 리포지토리 디렉터리가 됩니다. -
program_relpath(Optional[str]): 해당 실행을 만든 스크립트의 상대 경로입니다. -
project(Optional[str]): W&B 프로젝트 ID입니다. -
quiet(bool): 중요하지 않은 출력(로그)을 숨길지 여부를 지정하는 플래그입니다. -
reinit(Union[Literal[‘default’, ‘return_previous’, ‘finish_previous’, ‘create_new’], bool]): 실행이 진행 중일 때wandb.init()이 호출되면 어떻게 처리할지 지정합니다. 옵션:- “default”: 노트북에서는 “finish_previous”를, 그 외의 경우에는 “return_previous”를 사용합니다.
- “return_previous”: 아직 종료되지 않은, 가장 최근에 생성된 실행을
반환합니다. 이는
wandb.run을 업데이트하지 않습니다. “create_new” 옵션을 참고하세요. - “finish_previous”: 활성 상태인 모든 실행을 종료한 다음, 새 실행을 반환합니다.
- “create_new”: 다른 활성 실행을 수정하지 않고 새 실행을 생성합니다.
wandb.run및wandb.log와 같은 최상위 함수는 업데이트하지 않습니다. 이 때문에 전역 실행(global run)에 의존하는 일부 오래된 통합은 동작하지 않을 수 있습니다. 불리언 값도 사용할 수 있으나, 이는 더 이상 권장되지 않습니다. False는 “return_previous”와 같고, True는 “finish_previous”와 같습니다.
-
relogin(bool): 새로운 로그인 시도를 강제로 수행하도록 하는 플래그입니다. -
resume(Optional[Literal[‘allow’, ‘must’, ‘never’, ‘auto’]]): 실행을 재개하는 방식을 지정합니다. 옵션:- “must”: 동일한 ID를 가진 기존 실행을 이어서 재개합니다. 해당 실행이 없으면 실패합니다.
- “allow”: 동일한 ID를 가진 기존 실행을 재개하려 시도합니다. 실행을 찾지 못하면 새 실행을 생성합니다.
- “never”: 항상 새 실행을 시작합니다. 동일한 ID의 실행이 이미 존재하면 실패합니다.
- “auto”: 동일한 머신에서 가장 최근에 실패한 실행을 자동으로 재개합니다.
-
resume_from(Optional[RunMoment]): 이전 실행의 특정 시점에서부터 재개할 위치를 지정합니다. 이 시점은 실행 ID, 메트릭, 해당 메트릭 값으로 정의됩니다. 현재는 메트릭 ‘_step’만 지원됩니다. -
root_dir(str): 모든 실행 관련 경로의 기준이 되는 루트 디렉터리입니다. 특히 wandb 디렉터리와 실행 디렉터리를 결정할 때 사용됩니다. -
run_group(Optional[str]): 서로 관련된 실행의 그룹 식별자입니다. UI에서 실행을 그룹으로 묶는 데 사용됩니다. -
run_id(Optional[str]): 실행 ID입니다. -
run_job_type(Optional[str]): 실행 중인 작업 유형(예: 학습, 평가). -
run_name(Optional[str]): 사람이 읽기 쉬운 실행 이름입니다. -
run_notes(Optional[str]): 실행에 대한 추가 메모나 설명입니다. -
run_tags(Optional[Tuple[str, Ellipsis]]): 실행을 구성하고 필터링하기 위해 실행에 연결할 태그입니다. -
sagemaker_disable(bool): SageMaker 전용 기능을 비활성화할지 여부를 지정하는 플래그입니다. -
save_code(Optional[bool]): 실행과 연관된 코드를 저장할지 여부. -
settings_system(Optional[str]): 시스템 전역 설정 파일 경로입니다. -
max_end_of_run_history_metrics(int): 실행 종료 시 표시할 히스토리 스파크라인 최대 개수입니다. -
max_end_of_run_summary_metrics(int): 실행 종료 시 표시할 요약 지표의 최대 개수입니다. -
show_errors(bool): 오류 메시지 표시 여부. -
show_info(bool): 정보 메시지를 표시할지 여부를 나타냅니다. -
show_warnings(bool): 경고 메시지를 표시할지 여부를 지정합니다. -
silent(bool): 모든 출력을 숨기는 플래그입니다. -
strict(Optional[bool]): 검증 및 오류 검사에 대한 엄격 모드를 활성화할지 여부입니다. -
summary_timeout(int): 요약 연산이 완료되기를 기다리는 최대 시간(초)입니다. -
sweep_id(Optional[str]): 이 실행이 속해 있는 sweep의 식별자입니다. -
sweep_param_path(Optional[str]): 스위프 파라미터 설정의 경로입니다. -
symlink(bool): 심볼릭 링크를 사용할지 여부입니다(Windows 이외 환경에서의 기본값은 True). -
sync_tensorboard(Optional[bool]): TensorBoard 로그를 W&B와 동기화할지 여부를 지정합니다. -
table_raise_on_max_row_limit_exceeded(bool): 테이블 행 최대 개수 제한을 초과할 때 예외를 발생시킬지 여부입니다. -
use_dot_wandb(Optional[bool]): 실행 데이터에 숨김.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]): 실행에서 수집된 시스템 메트릭과 콘솔 로그에 할당할 레이블입니다. 이는 프론트엔드에서 데이터를 그룹화하는 기준으로 사용되며, 분산 학습 작업에서 서로 다른 프로세스에서 생성된 데이터를 구분하는 데 활용할 수 있습니다. -
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): 실행 이벤트를 트랜잭션 로그에 저장하는 것을 건너뛸지 여부입니다. 이는 온라인 실행에만 해당됩니다. 디스크에 기록되는 데이터 양을 줄이는 데 사용할 수 있습니다. 복구 가능성에 대한 보장이 사라지므로 주의해서 사용해야 합니다. -
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 개수입니다. 설정하면 실행 메타데이터에서 자동으로 감지된 값을 재정의합니다. -
x_stats_cpu_logical_count(Optional[int]): 논리 CPU 수입니다. 설정하면 실행 메타데이터에서 자동 감지된 값을 재정의합니다. -
x_stats_gpu_count(Optional[int]): GPU 디바이스 수입니다. 설정하면 실행 메타데이터에서 자동으로 감지된 값을 재정의합니다. -
x_stats_gpu_type(Optional[str]): GPU 장치 유형입니다. 설정하면 실행 메타데이터에서 자동 탐지된 값을 덮어씁니다. -
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): 실행 디렉터리 이름(sync_dir)에 추가할 접미사입니다. 이 값은 이름 충돌을 방지하기 위해 wandb.init()에서 설정됩니다. 설정된 경우 기본 이름 뒤에 하이픈(-)으로 이어붙입니다. -
x_update_finish_state(bool): 이 프로세스가 서버에서 실행의 최종 상태를 업데이트할 수 있는지 여부를 나타내는 플래그입니다. 분산 학습 환경에서는 최종 상태를 메인 프로세스만 결정해야 할 때 이 값을 False로 설정합니다.
Settings 객체입니다.
property Settings.app_url
보통 https://wandb.ai 인 W&B UI의 URL입니다.
이는 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
실행의 파일이 저장되는 로컬 디렉터리의 절대 경로입니다.
Returns:
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
가장 최근 실행의 내부 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
반환값:
str:log_symlink_internal속성 값.
property Settings.log_symlink_user
가장 최근 실행의 사용자 프로세스 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
반환값:
str:log_symlink_user속성 값.
property Settings.log_user
사용자 프로세스 로그를 기록할 파일의 경로입니다.
반환값:
str:log_user프로퍼티 값입니다.
property Settings.project_url
Project를 확인할 수 있는 W&B URL입니다.
Returns:
str: project_url 속성 값입니다.
property Settings.resume_fname
resume 파일의 경로입니다.
반환값:
str:resume_fname속성의 값입니다.
property Settings.run_mode
실행 모드입니다. “run” 또는 “offline-run” 중 하나일 수 있습니다.
Returns:
Literal['run', 'offline-run']:run_mode속성 값입니다.
property Settings.run_url
실행을 확인할 수 있는 W&B URL입니다.
Returns:
str: run_url 속성의 값.
property Settings.settings_workspace
워크스페이스 설정 파일의 경로입니다.
반환:
str:settings_workspace속성 값입니다.
property Settings.sweep_url
sweep을 조회할 수 있는 W&B URL입니다.
반환값:
str:sweep_url속성의 값입니다.
property Settings.sync_dir
실행과 관련된 파일을 저장하는 디렉터리입니다.
반환값:
str: sync_dir 속성의 값입니다.
property Settings.sync_file
추가 전용(append-only) 이진 트랜잭션 로그 파일의 경로입니다.
반환값:
str:sync_file속성 값입니다.
property Settings.sync_symlink_latest
가장 최근 실행의 트랜잭션 로그 파일을 가리키는 심볼릭 링크(symlink)의 경로입니다.
반환값:
str: sync_symlink_latest 속성의 값입니다.
property Settings.timespec
실행에 대한 시간 지정 값입니다.
Returns:
str: timespec 속성의 값입니다.
property Settings.wandb_dir
wandb 디렉터리의 전체 경로입니다.
반환값:
str: wandb_dir 속성 값입니다.