class Settings
W&B SDK용 설정입니다.
이 클래스는 W&B SDK의 설정을 관리하며,
모든 설정의 타입 안정성과 검증을 보장합니다. 설정은 속성으로 액세스할 수 있으며,
코드에서 직접, 환경
변수(WANDB_ prefix), 그리고 설정 파일을 통해 초기화할 수 있습니다.
설정은 세 가지 범주로 구성됩니다.
- 공개 설정: 사용자가 특정 요구 사항에 맞게 W&B의 동작을 사용자 지정할 수 있도록 안전하게 수정할 수 있는 핵심 설정 옵션입니다.
- 내부 설정: ‘x_’ 접두사가 붙은 설정으로, SDK의 저수준 동작을 처리합니다. 이러한 설정은 주로 내부 사용 및 디버깅을 위한 것입니다. 수정할 수는 있지만, 공개 API의 일부로 간주되지 않으며 향후 버전에서 사전 고지 없이 변경될 수 있습니다.
- 계산된 설정: 다른 설정이나 환경에서 자동으로 파생되는 읽기 전용 설정입니다.
메서드 Settings.__init__
-
allow_media_symlink(bool): 미디어 파일을 run 디렉터리에 심볼릭 링크할지 여부입니다. true이면 미디어 파일은 복사되는 대신 run 디렉터리에 심볼릭 링크되거나 하드 링크됩니다. 이렇게 하면 더 빠르게 로깅할 수 있고 디스크 사용량도 줄일 수 있습니다. 하지만 업로드 전에 원본 파일을 삭제하거나 수정하면 그 변경 사항이 W&B 서버에 업로드된 데이터에도 반영됩니다. -
allow_offline_artifacts(bool): 오프라인 모드에서 테이블 아티팩트를 동기화할 수 있게 하는 플래그입니다. 이전 동작으로 되돌리려면 이 값을 False로 설정하세요. -
allow_val_change(bool): 설정된 후에도Config값을 수정할 수 있게 하는 플래그입니다. -
anonymous(객체): 사용 중단되었으며 곧 제거될 예정입니다. -
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” 또는 “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로 제어됩니다. 두 limits가 모두0이면 모든 로그는 run이 종료될 때 한 번에 업로드됩니다. 참고: 업로드된 청크는 불변이므로 이전 줄을 수정하는 터미널 제어 시퀀스(예: 캐리지 리턴을 사용하는 진행률 표시줄)는 현재 청크에만 영향을 줍니다. -
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_git_fork_point(bool): 원격 브랜치에서 포크 지점을 추론하지 않도록 비활성화할지 여부입니다. True로 설정하면 업스트림 브랜치가 설정되어 있는 경우 SDK는 해당 브랜치의 최신 커밋을 사용합니다. 그렇지 않으면 diff 패치 생성을 건너뜁니다. False로 설정하면 업스트림 브랜치가 설정되어 있는 경우 SDK는 해당 브랜치의 최신 커밋을 사용하려고 시도합니다. 그렇지 않으면 모든 원격 브랜치에서 가장 가까운 커밋을 찾습니다. 업스트림 브랜치가 많은 리포지토리에서는 성능에 영향을 줄 수 있습니다. -
disable_job_creation(bool): W&B Launch용 작업 아티팩트 생성을 비활성화할지 여부입니다. -
docker(Optional[str]): 스크립트 실행에 사용되는 도커 이미지입니다. -
email(Optional[str]): 사용자의 이메일 주소입니다. -
entity(Optional[str]): 사용자 또는 팀과 같은 W&B entity(예: 사용자 또는 팀)입니다. -
organization(Optional[str]): W&B 조직입니다. -
force(bool):wandb.login()에force플래그를 전달할지 여부입니다. -
fork_from(Optional[RunMoment]): 이전 run 실행의 한 시점에서 포크할 지점을 지정합니다. 이 지점은 run ID, 메트릭, 그리고 해당 값으로 정의됩니다. 현재는 메트릭 ‘_step’만 지원됩니다. -
git_commit(Optional[str]): run과 연결할 git 커밋 해시입니다. -
git_remote(str): run에 연결할 git 리모트입니다. -
git_remote_url(Optional[str]): Git 원격 저장소의 URL입니다. -
git_root(Optional[str]): git 저장소의 루트 디렉터리입니다. -
host(Optional[str]): 스크립트를 실행 중인 머신의 호스트 이름. -
http_proxy(선택[str]): W&B에 대한 http 요청에 사용할 맞춤형 프록시 서버입니다. -
https_proxy(Optional[str]): W&B로 보내는 https 요청에 사용할 맞춤형 프록시 서버입니다. -
identity_token_file(Optional[str]): 인증에 사용할 ID 토큰(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]): 알 수 있는 경우 run을 생성한 스크립트의 경로입니다. -
program_abspath(선택[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()가 호출되면 어떻게 처리할지 지정합니다. 옵션:- “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에 의존하는 일부 오래된 인테그레이션은 작동하지 않습니다. 불리언 값으로도 지정할 수 있지만, 이는 사용 중단되었습니다. False는 “return_previous”와 같고, True는 “finish_previous”와 같습니다.
-
relogin(bool): 새로 로그인을 시도하도록 강제하는 플래그입니다. -
resume(Optional[Literal[‘allow’, ‘must’, ‘never’, ‘auto’]]): run 재개 방식을 지정합니다. 옵션:- “must”: 동일한 ID를 가진 기존 run을 재개합니다. 해당 run이 없으면 실패합니다.
- “allow”: 동일한 ID를 가진 기존 run의 재개를 시도합니다. 찾지 못하면 새 run이 생성됩니다.
- “never”: 항상 새 run을 시작합니다. 동일한 ID를 가진 run이 이미 있으면 실패합니다.
- “auto”: 동일한 머신에서 가장 최근에 실패한 run을 자동으로 재개합니다.
-
resume_from(Optional[RunMoment]): 이전 run 실행의 특정 시점부터 재개할지 지정합니다. 이 시점은 run ID, metric, 그리고 해당 값으로 정의됩니다. 현재는 metric ‘_step’만 지원됩니다. -
root_dir(str): 모든 run 관련 경로의 기준이 되는 루트 디렉터리입니다. 특히 wandb 디렉터리와 run 디렉터리의 경로를 결정하는 데 사용됩니다. -
run_group(Optional[str]): 연관된 Runs의 그룹 식별자입니다. UI에서 Runs를 그룹화하는 데 사용됩니다. -
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에 연결할 Tags입니다. -
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 종료 시 표시할 summary 메트릭의 최대 개수입니다. -
show_errors(bool): 오류 메시지를 표시할지 여부입니다. -
show_info(bool): 정보 메시지를 표시할지 여부입니다. -
show_warnings(bool): 경고 메시지 표시 여부입니다. -
silent(bool): 모든 출력을 표시하지 않도록 하는 플래그입니다. -
strict(Optional[bool]): 검증 및 오류 검사를 위해 strict 모드를 사용할지 여부입니다. -
summary_timeout(int): 시간 초과 전에 summary 오퍼레이션을 기다릴 최대 시간(초)입니다. -
sweep_id(Optional[str]): 이 run이 속해 있는 스윕의 식별자입니다. -
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(선택[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): 이력에서 summary를 자동으로 계산하도록 서버에 위임하는 플래그입니다. 이 설정을 사용해도 사용자가 제공하는 summary 업데이트는 비활성화되지 않습니다. -
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/queryendpoint에 대한 쿼리에서 DCGM 관련 메트릭을 추출합니다. Prometheus를 사용해 cluster의 여러 노드에서 실행 중인 DCGM Exporter 인스턴스가 보고한 메트릭을 집계하는 것은 일반적인 방식입니다. - TODO: DCGM Exporter의
/metricsendpoint에서 메트릭을 직접 파싱합니다. 예: 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 정규식 패턴": {"label": "label 값 정규식 패턴"}}("metric 정규식 패턴 1", "metric 정규식 패턴 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이면 시스템 모니터가 PIDx_stats_pid인 프로세스와 해당 프로세스의 모든 하위 프로세스에 대한 RSS, CPU%, 스레드 수를 집계합니다. 이 옵션은 성능 오버헤드를 유발할 수 있으며, 기본적으로 비활성화되어 있습니다. -
x_sync_dir_suffix(str): run 디렉터리 이름(sync_dir)에 추가할 접미사입니다. 이 값은 이름 충돌을 방지하기 위해 wandb.init()에서 설정합니다. 설정하면 기본 이름에 대시를 붙여 연결합니다. -
x_update_finish_state(bool): 이 프로세스가 서버에서 run의 최종 상태를 업데이트할 수 있는지 여부를 나타내는 플래그입니다. 분산 트레이닝에서 최종 상태를 메인 프로세스만 확인해야 하는 경우 False로 설정하세요.
Settings 객체입니다.
속성 Settings.app_url
W&B UI의 URL로, 일반적으로 https://wandb.ai입니다.
이는 base_url(예: https://api.wandb.ai)과 다르며,
base_url은 코드에서 W&B API에 액세스하는 데 사용됩니다.
반환값:
str: app_url 속성 값입니다.
속성 Settings.colab_url
Colab에서 실행 중인 경우 Colab 노트북의 URL입니다.
반환값:
Optional[str]: colab_url 속성 값입니다.
속성 Settings.deployment
속성 Settings.files_dir
run 파일이 저장되는 로컬 디렉터리의 절대 경로입니다.
반환값:
str:files_dir속성 값입니다.
속성 Settings.is_local
속성 Settings.log_dir
로그 파일을 저장할 디렉터리입니다.
반환값:
str:log_dir속성 값.
속성 Settings.log_internal
내부 로그에 사용할 파일 경로입니다.
반환값:
str:log_internal속성 값입니다.
속성 Settings.log_symlink_internal
가장 최근 run의 내부 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
반환값:
str:log_symlink_internal속성 값입니다.
속성 Settings.log_symlink_user
가장 최근 run의 사용자 프로세스 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
반환값:
str:log_symlink_user속성 값입니다.
속성 Settings.log_user
사용자 프로세스 로그를 기록할 파일의 경로입니다.
반환값:
str:log_user속성 값입니다.
속성 Settings.project_url
프로젝트를 확인할 수 있는 W&B URL입니다.
반환값:
str:project_url속성 값입니다.
속성 Settings.resume_fname
재개 파일의 경로입니다.
반환값:
str:resume_fname속성의 값입니다.
속성 Settings.run_mode
run의 모드입니다. "run" 또는 "offline-run" 중 하나일 수 있습니다.
반환값:
Literal['run', 'offline-run']:run_mode속성 값입니다.
속성 Settings.run_url
run을 확인할 수 있는 W&B URL입니다.
반환값:
str:run_url속성의 값입니다.
속성 Settings.settings_workspace
Workspace 설정 파일 경로입니다.
반환값:
str:settings_workspace속성 값입니다.
속성 Settings.sweep_url
스윕을 확인할 수 있는 W&B URL입니다.
반환값:
str:sweep_url속성 값입니다.
속성 Settings.sync_dir
run 파일을 저장하는 디렉터리입니다.
반환값:
str:sync_dir속성 값입니다.
속성 Settings.sync_file
append-only 바이너리 트랜잭션 로그 파일의 경로입니다.
반환값:
str:sync_file속성 값입니다.
속성 Settings.sync_symlink_latest
가장 최근 run의 트랜잭션 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
반환값:
str:sync_symlink_latest속성 값입니다.
속성 Settings.timespec
run의 시간 지정 형식입니다.
반환값:
str: timespec 속성 값입니다.
속성 Settings.wandb_dir
wandb 디렉터리의 전체 경로입니다.
반환값:
str:wandb_dir속성의 값입니다.