class wandb.Settings
WANDB_ prefix), 그리고 설정 파일을 통해 초기화할 수 있습니다.
설정은 세 가지 범주로 구성됩니다.
- 공개 설정: 사용자가 특정 요구 사항에 맞게 W&B의 동작을 사용자 지정할 수 있도록 안전하게 수정할 수 있는 핵심 설정 옵션입니다.
- 내부 설정: ‘x_’ 접두사가 붙은 설정으로, SDK의 저수준 동작을 처리합니다. 이러한 설정은 주로 내부 사용 및 디버깅을 위한 것입니다. 수정할 수는 있지만, 공개 API의 일부로 간주되지 않으며 향후 버전에서 사전 고지 없이 변경될 수 있습니다.
- 계산된 설정: 다른 설정이나 환경에서 자동으로 파생되는 읽기 전용 설정입니다.
- 이
Settings모델에 정의된 기본값. - 설정 파일(
~/.config/wandb/settings또는WANDB_CONFIG_DIR환경 변수가 지정한 디렉터리의settings파일). - 환경 변수(
WANDB_접두사가 붙은 변수, 예:WANDB_MODE). - 호스트 이름, 실행 중인 프로그램/스크립트 경로, Python 실행 파일, 도커 이미지, Jupyter 노트북 세부 정보 등 런타임 환경에서 감지된 값.
- Amazon SageMaker 환경에서 실행 중인 경우의 SageMaker 설정.
wandb.setup()의settings매개변수.wandb.init()의settings매개변수.- 특정
wandb.init()매개변수(예:mode=는mode설정을 재정의함).
인수
-
allow_media_symlink: 미디어 파일을 run 디렉터리에 심볼릭 링크할지 여부입니다. true이면 미디어 파일을 복사하는 대신 run 디렉터리에 심볼릭 링크 또는 하드 링크합니다. 이렇게 하면 로깅 속도가 빨라지고 디스크 사용량도 줄어들 수 있습니다. 하지만 W&B 서버에 업로드하기 전에 원본 파일을 삭제하거나 수정하면 그 변경 사항이 업로드된 데이터에 반영됩니다. -
allow_offline_artifacts: 오프라인 모드에서 테이블 아티팩트를 동기화할 수 있도록 하는 플래그입니다. 이전 동작으로 되돌리려면 이 값을 False로 설정하세요. -
allow_val_change:Config값을 설정한 후에도 수정할 수 있도록 하는 플래그입니다. -
anonymous: 사용 중단되었으며 제거될 예정입니다. -
api_key: W&B API 키입니다. -
azure_account_url_to_access_key: Azure 인테그레이션을 위해 Azure 계정 URL을 해당 액세스 키에 매핑한 값입니다. -
app_url_override: W&B UI의appURL을 재정의하는 설정입니다.app_url은 일반적으로base_url을 기준으로 계산되지만, 이 값을 사용해 명시적으로 설정할 수 있습니다. WANDB_APP_URL이 해당 환경 변수입니다. -
base_url: 데이터 동기화를 위한 W&B 백엔드 URL입니다. -
code_dir: W&B에서 추적할 코드가 들어 있는 디렉터리입니다. -
config_paths:Config객체로 로드할 설정이 들어 있는 파일 경로입니다. -
console: 적용할 콘솔 캡처 유형입니다. 가능한 값은 다음과 같습니다:- “auto” - 시스템 환경과 설정에 따라 콘솔 캡처 방식을 자동으로 선택합니다.
- “off” - 콘솔 캡처를 비활성화합니다.
- “redirect” - 출력을 캡처하기 위해 저수준 파일 디스크립터를 리디렉션합니다.
- “wrap” - sys.stdout/sys.stderr의 write 메서드를 재정의합니다. 시스템 상태에 따라 “wrap_raw” 또는 “wrap_emu”로 매핑됩니다.
- “wrap_raw” - “wrap”과 같지만 에뮬레이터를 거치지 않고 원시 출력을 직접 캡처합니다.
wrap설정에서 파생되며 수동으로 설정해서는 안 됩니다. - “wrap_emu” - “wrap”과 같지만 에뮬레이터를 통해 출력을 캡처합니다.
wrap설정에서 파생되며 수동으로 설정해서는 안 됩니다.
-
console_multipart: 멀티파트 콘솔 로깅을 활성화합니다.True이면 SDK는 콘솔 출력을 단일output.log파일 대신logs/디렉터리 아래의 타임스탬프가 포함된 파일에 기록합니다. 각 파트는 닫히는 즉시 업로드되므로 사용자는 run이 활성 상태인 동안 로그에 실시간으로 액세스할 수 있습니다. 롤오버 주기는console_chunk_max_bytes및/또는console_chunk_max_seconds로 제어됩니다. 두 제한값이 모두0이면 모든 로그는 run이 종료될 때 한 번에 업로드됩니다. 참고: 업로드된 청크는 변경할 수 없습니다. 따라서 이전 줄을 수정하는 터미널 제어 시퀀스(예: 캐리지 리턴을 사용하는 진행률 표시줄)는 현재 청크에만 영향을 줍니다. -
console_chunk_max_bytes: 바이트 단위의 멀티파트 콘솔 로그용 크기 기반 롤오버 임계값입니다. 현재 파트가 이 크기에 도달하면 새 콘솔 로그 파일을 시작합니다.console_multipart가True일 때만 적용됩니다.console_chunk_max_seconds와 함께 사용할 수 있으며, 두 제한값 중 먼저 도달한 값이 롤오버를 트리거합니다. 값이0이면 크기 기반 제한이 비활성화됩니다. -
console_chunk_max_seconds: 초 단위의 멀티파트 콘솔 로그용 시간 기반 롤오버 임계값입니다. 현재 파트가 시작된 후 이 시간(초)이 지나면 새 콘솔 로그 파일을 시작합니다.console_multipart가True여야 합니다.console_chunk_max_bytes와 함께 사용할 수 있으며, 먼저 도달한 제한값이 해당 파트를 닫습니다. 값이0이면 시간 기반 제한이 비활성화됩니다. -
capture_loggers: run의 Logs 탭에 캡처할 Python 로거의 이름입니다. 로거 이름별 최소 로그 수준을 지정하는 매핑입니다. 설정하면 wandb가 각 지정된 로거에logging.Handler를 설치하고 run이 종료되면 이를 제거합니다. 해당 로거에서 출력된 로그 레코드는 콘솔 출력으로 run에 게시되며,stdout/stderr캡처와 유사합니다. 로그 레코드는logging.basicConfig()와 동일한 형식으로 지정됩니다. 예:INFO:my_module:Some message.현재는 이 형식을 사용자 지정할 수 없습니다. 모든 로그를 캡처하려면 ‘root’인 루트 로거 이름을 전달하세요. 이는console설정과는 별개입니다. 두 설정을 동시에 활성화할 수 있습니다. 예시: -
credentials_file: 임시 액세스 토큰을 기록할 파일 경로입니다. -
disable_code: 코드 캡처를 비활성화할지 여부입니다. -
disable_git: git 상태 캡처를 비활성화할지 여부입니다. -
disable_git_fork_point: 원격 브랜치에서 fork 지점을 추론하지 않도록 비활성화할지 여부입니다. True로 설정하면 upstream 브랜치가 설정되어 있는 경우 SDK는 해당 브랜치의 최신 커밋을 사용합니다. 그렇지 않으면 diff patch 생성을 건너뜁니다. False로 설정하면 upstream 브랜치가 설정되어 있는 경우 SDK는 해당 브랜치의 최신 커밋을 사용하려고 시도합니다. 그렇지 않으면 모든 원격 브랜치에서 가장 가까운 커밋을 찾습니다. 이로 인해 upstream 브랜치가 많은 저장소에서는 성능에 영향을 받을 수 있습니다. -
disable_job_creation: W&B Launch용 작업 아티팩트 생성을 비활성화할지 여부입니다. -
docker: 스크립트 실행에 사용되는 도커 이미지입니다. -
email: 사용자의 이메일 주소입니다. -
entity: 사용자 또는 팀과 같은 W&B entity입니다. -
organization: W&B 조직입니다. -
force:wandb.login()에force플래그를 전달할지 여부입니다. -
fork_from: 이전 run 실행에서 fork할 지점을 지정합니다. 이 지점은 Run ID, metric 및 해당 값으로 정의됩니다. 현재는 metric ‘_step’만 지원됩니다. -
git_commit: run에 연결할 git 커밋 해시입니다. -
git_remote: run에 연결할 git remote입니다. -
git_remote_url: git 원격 저장소의 URL입니다. -
git_root: git 저장소의 루트 디렉터리입니다. -
host: 스크립트를 실행 중인 머신의 호스트 이름입니다. -
http_proxy: W&B로 보내는 http 요청에 사용할 맞춤형 프록시 서버입니다. -
https_proxy: W&B로 보내는 https 요청에 사용할 맞춤형 프록시 서버입니다. -
identity_token_file: 인증에 사용할 ID 토큰(JWT)이 들어 있는 파일 경로입니다. -
ignore_globs: 업로드에서 제외할 파일을 지정하는files_dir기준의 Unix glob 패턴입니다. -
init_timeout: 시간 초과 처리되기 전까지wandb.init호출이 완료되기를 기다리는 시간(초)입니다. -
finish_timeout: run 종료 시 데이터 업로드를 기다리는 시간(초)입니다. 이 값을 설정하면 run 종료 시 W&B로의 느린 업로드로 인해 발생하는 비용을 제한할 수 있지만, 그 대신 run이 crashed로 표시되고 일부 데이터가 누락될 수 있습니다. 기본값에서는run.finish()가 모든 데이터 업로드가 완료될 때까지 블로킹됩니다. 이 값을 0보다 큰 숫자로 설정하면 W&B는 run 종료 시 지정된 시간(초)이 지나면 해당 run의 데이터 업로드를 포기하고 스크립트의 블로킹을 해제합니다. 이후 시간이 지나면 해당 run은 UI에서 Crashed 또는 Failed 상태가 됩니다. 업로드되지 않은 데이터는 여전히 디스크에 저장되며wandb sync로 업로드할 수 있습니다. 경고 메시지를 출력하는 것과 함께 오류도 발생시키려면finish_timeout_raises설정을 사용하세요.wandb.teardown()으로 종료되는 run(atexit훅에서 스크립트 종료 시 자동으로 실행됨)에도 이 설정이 적용됩니다. -
finish_timeout_raises: finish_timeout이 만료되면 TimeoutError를 발생시킬지 여부입니다. 이 값을finish_timeout설정과 함께 사용하면run.finish()는 메시지를 출력하는 것과 함께 시간 초과 후 TimeoutError도 발생시킵니다. Run을 컨텍스트 관리자로 사용할 때는run.finish()가 암시적으로 호출된다는 점에 유의하세요: with wandb.init() as run: … #with블록 끝에서 run.finish()가 실행됩니다 이로 인해wandb.teardown()에서 오류가 발생하지는 않습니다(어차피 스크립트 끝에서 실행되기 때문입니다). -
insecure_disable_ssl: 안전하지 않은 방식으로 SSL 검증을 비활성화할지 여부입니다. -
job_name: 스크립트를 실행하는 Launch 작업의 이름입니다. -
job_source: Launch의 소스 유형입니다. -
label_disable: 자동 레이블 지정 특성을 비활성화할지 여부입니다. -
launch_config_path: Launch 설정 파일의 경로입니다. -
login_timeout: 로그인 작업이 시간 초과되기 전에 대기할 시간(초)입니다. -
mode: W&B 로깅 및 동기화의 동작 모드입니다. -
notebook_name: Jupyter와 유사한 환경에서 실행 중인 경우의 노트북 이름입니다. -
program: 사용 가능한 경우, run을 생성한 스크립트의 경로입니다. -
program_abspath: 루트 저장소 디렉터리에서 run을 생성한 스크립트까지의 절대 경로입니다. 루트 저장소 디렉터리는 .git 디렉터리가 있는 경우 해당 디렉터리를 포함하는 디렉터리로 정의됩니다. 그렇지 않으면 현재 작업 디렉터리입니다. -
program_relpath: run을 생성한 스크립트의 상대 경로입니다. -
project: W&B 프로젝트 ID입니다. -
quiet: 중요하지 않은 출력을 숨기는 플래그입니다. -
reinit: 활성화된 run이 있는 상태에서wandb.init()를 호출했을 때의 동작. 옵션:- “default”: 노트북에서는 “finish_previous”를 사용하고, 그 외의 경우에는 “return_previous”를 사용합니다.
- “return_previous”: 아직 종료되지 않은 run 중 가장 최근에 생성된 run을 반환합니다.
이 옵션은
wandb.run을 업데이트하지 않습니다. “create_new” 옵션을 참조하세요. - “finish_previous”: 활성 상태인 모든 run을 종료한 다음, 새 run을 반환합니다.
- “create_new”: 다른 활성 run은 변경하지 않고 새 run을 생성합니다.
wandb.run과wandb.log같은 최상위 함수를 업데이트하지 않습니다. 따라서 전역 run에 의존하는 일부 오래된 인테그레이션은 작동하지 않습니다.
-
relogin: 새로 로그인을 시도하도록 강제하는 플래그입니다. -
resume: run을 재개하는 방식을 지정합니다. 옵션:- “must”: 동일한 ID를 가진 기존 run이 있으면 해당 run에서 재개합니다. 해당 run이 없으면 실패합니다.
- “allow”: 동일한 ID를 가진 기존 run에서 재개를 시도합니다. 해당 run을 찾지 못하면 새 run을 생성합니다.
- “never”: 항상 새 run을 시작합니다. 동일한 ID를 가진 run이 이미 있으면 실패합니다.
- “auto”: 동일한 머신에서 가장 최근에 실패한 run을 자동으로 재개합니다.
-
resume_from: 이전 run 실행의 어느 지점부터 재개할지 지정합니다. 이 지점은 run ID, 메트릭, 그리고 해당 값으로 정의됩니다. 현재는 메트릭 ‘_step’만 지원됩니다. -
root_dir: 모든 run 관련 경로의 기준으로 사용할 루트 디렉터리입니다. 특히 wandb 디렉터리와 run 디렉터리를 결정하는 데 사용됩니다. -
run_group: 관련된 Runs의 그룹 식별자입니다. UI에서 Runs를 그룹화하는 데 사용됩니다. -
run_id: run의 ID입니다. -
run_job_type: 실행 중인 작업의 유형입니다(예: 트레이닝, 평가). -
run_name: 사람이 읽기 쉬운 run 이름입니다. -
run_notes: run에 대한 추가 메모 또는 설명입니다. -
run_tags: 정리 및 필터링을 위해 run에 연결할 태그입니다. -
sagemaker_disable: SageMaker 관련 기능을 비활성화하는 플래그입니다. -
save_code: run에 연결된 코드를 저장할지 여부입니다. -
settings_system: 시스템 전체 설정 파일의 경로입니다. -
stop_fn: run을 중지할 때 실행할 callback입니다. run은 웹 UI를 통해 중지할 수도 있고, 치명적 오류가 발생한 뒤 (설정된 경우) 중지할 수도 있습니다. 기본적으로 W&B는 run을 중지하기 위해 메인 스레드에 SIGINT를 보냅니다. 다른 시그널을 사용하거나 인터럽트 전에 다른 액션을 수행하는 등 이 동작을 재정의하려면 이 callback을 설정하세요. 이 callback은 별도의 스레드에서 실행됩니다. 중지 요청 직후 실행되지만, 즉시 실행되지는 않습니다. -
max_end_of_run_history_metrics: run 종료 시 표시할 이력 스파크라인의 최대 개수입니다. -
max_end_of_run_summary_metrics: run 종료 시 표시할 summary 메트릭의 최대 개수입니다. -
show_errors: 오류 메시지를 표시할지 여부입니다. -
show_info: 정보 메시지를 표시할지 여부입니다. -
show_warnings: 경고 메시지를 표시할지 여부입니다. -
silent: 모든 출력을 숨기는 플래그입니다. -
stop_on_fatal_error: 치명적 오류 발생 후 run을 중지할지 여부입니다. W&B가 데이터 업로드 중 복구할 수 없는 오류를 만나면 메시지를 출력하고 업로드를 중지하지만, 추가 데이터 로깅은 계속 허용합니다. 이는 일반적으로 바람직합니다. 트레이닝 메트릭은 디스크에 저장되며, 업로드되지 않았더라도wandb sync를 사용해 복구할 수 있습니다. 하지만 트레이닝 후 파일이 삭제되는 경우에는 이것이 유용하지 않습니다. 그런 경우 이를 True로 설정하면 웹 UI에서 중지 버튼을 누른 것처럼 치명적 오류 발생 후 run이 중지됩니다. -
strict: 검증 및 오류 검사를 위해 strict 모드를 활성화할지 여부입니다. -
summary_timeout: 시간 초과 처리되기 전에 summary 오퍼레이션을 기다리는 시간(초)입니다. -
sweep_id: 이 run이 속한 스윕의 식별자입니다. -
sweep_param_path: 스윕 파라미터 설정 경로입니다. -
symlink: 심볼릭 링크를 사용할지 여부입니다(Windows를 제외하면 기본값은 True). -
sync_tensorboard: TensorBoard 로그를 W&B와 동기화할지 여부입니다. -
table_raise_on_max_row_limit_exceeded: table 행 제한을 초과했을 때 예외를 발생시킬지 여부입니다. -
use_dot_wandb: run 데이터에 숨김.wandb디렉터리를 사용할지, 표시되는wandb디렉터리를 사용할지 여부입니다. True이면 SDK는.wandb를 사용합니다. False이면wandb를 사용합니다. 설정하지 않으면,.wandb가 이미 존재하는 경우 기본값은.wandb이고, 그렇지 않으면wandb입니다. -
username: 사용자 이름입니다. -
x_disable_meta: 시스템 메타데이터 수집을 비활성화하는 플래그입니다. -
x_disable_stats: 시스템 메트릭 수집을 비활성화하는 플래그입니다. -
x_extra_http_headers: 모든 송신 HTTP 요청에 추가할 헤더입니다. -
x_label: run에 대해 수집되는 시스템 메트릭과 콘솔 로그에 부여할 레이블입니다. 프런트엔드에서 데이터를 기준으로 그룹화하는 데 사용되며, 분산 트레이닝 작업에서 서로 다른 프로세스의 데이터를 구분하는 데 사용할 수 있습니다. -
x_primary: 내부 wandb 파일과 메타데이터를 저장할지 여부를 확인합니다. 분산 환경에서는 기본 프로세스가 주 로깅을 처리하므로, 시스템 메트릭과 로그만 필요할 때 보조 프로세스에서 파일이 덮어써지는 것을 방지하는 데 유용합니다. -
x_save_requirements: requirements 파일을 저장하는 플래그입니다. -
x_server_side_derived_summary: server가 history에서 summary를 자동으로 계산하도록 위임하는 플래그입니다. 이 설정은 사용자가 제공한 summary 업데이트를 비활성화하지 않습니다. -
x_service_wait: wandb-core 내부 서비스가 시작될 때까지 대기할 시간(초)입니다. -
x_skip_transaction_log: run 이벤트를 transaction log에 저장하지 않고 건너뛸지 여부입니다. 이는 온라인 run에만 해당합니다. 디스크에 기록되는 데이터 양을 줄이는 데 사용할 수 있습니다. 복구 가능성에 대한 보장이 없어지므로 주의해서 사용해야 합니다. -
x_stats_sampling_interval: system monitor의 샘플링 간격(초)입니다. -
x_stats_open_metrics_endpoints: 시스템 메트릭 모니터링 대상 OpenMetrics/metricsendpoints입니다. -
x_stats_open_metrics_filters: OpenMetrics/metrics엔드포인트에서 수집한 메트릭에 적용할 필터입니다. 두 가지 형식을 지원합니다:{"엔드포인트 이름을 접두사로 포함하는 메트릭 정규식 패턴": {"label": "label 값 정규식 패턴"}}("메트릭 정규식 패턴 1", "메트릭 정규식 패턴 2", ...)
-
x_stats_open_metrics_http_headers: OpenMetrics 요청에 추가할 HTTP 헤더입니다. -
x_stats_disk_paths: 디스크 사용량을 모니터링할 시스템 경로입니다. -
x_stats_cpu_count: 시스템 CPU 개수입니다. 설정하면 run 메타데이터에서 자동 감지된 값을 재정의합니다. -
x_stats_cpu_logical_count: 논리 CPU 개수입니다. 설정하면 run 메타데이터에서 자동 감지된 값을 재정의합니다. -
x_stats_gpu_count: GPU 디바이스 개수입니다. 설정하면 run 메타데이터에서 자동 감지된 값을 재정의합니다. -
x_stats_gpu_type: GPU 디바이스 유형입니다. 설정하면 run 메타데이터에서 자동 감지된 값을 재정의합니다. -
x_stats_gpu_device_ids: 모니터링할 GPU 디바이스 인덱스입니다. 설정하지 않으면 system monitor가 모든 GPU의 메트릭을 캡처합니다. CUDA/ROCm 디바이스 열거와 일치하는 0부터 시작하는 인덱싱을 가정합니다. -
x_stats_track_process_tree:x_stats_pid부터 시작해 전체 프로세스 트리의 리소스 사용량을 모니터링합니다.True이면 system monitor가 PIDx_stats_pid인 프로세스와 그 모든 하위 프로세스의 RSS, CPU%, 스레드 수를 집계합니다. 이로 인해 성능 오버헤드가 발생할 수 있으며, 기본적으로 비활성화되어 있습니다. -
x_stats_no_cgroup: 시스템 메트릭 백분율에 대해 cgroup v2 CPU 및 메모리 한도를 비활성화합니다. -
x_sync_dir_suffix: run’s 디렉터리 이름(sync_dir)에 추가할 접미사입니다. 이름 충돌을 방지하기 위해 wandb.init()에서 설정합니다. 설정하면 기본 이름 뒤에 대시와 함께 붙습니다. -
x_update_finish_state: 이 프로세스가 서버에서 run’s 최종 상태를 업데이트할 수 있는지 나타내는 플래그입니다. 분산 트레이닝에서는 메인 프로세스만 최종 상태를 결정해야 할 때False로 설정합니다.
속성
속성 app_url
W&B UI의 URL로, 일반적으로 https://wandb.ai입니다. 이는base_url(예: https://api.wandb.ai)과 다르며,
base_url은 코드에서 W&B API에 액세스하는 데 사용됩니다.
속성 colab_url
Colab에서 실행 중인 경우 Colab 노트북의 URL입니다.속성 deployment
속성 files_dir
run 파일이 저장되는 로컬 디렉터리의 절대 경로입니다.속성 is_local
속성 log_dir
로그 파일을 저장할 디렉터리입니다.속성 log_internal
내부 로그에 사용할 파일 경로입니다.속성 log_symlink_internal
가장 최근 run의 내부 로그 파일을 가리키는 심볼릭 링크의 경로입니다.속성 log_symlink_user
가장 최근 run의 사용자 프로세스 로그 파일을 가리키는 심볼릭 링크의 경로입니다.속성 log_user
사용자 프로세스 로그를 기록할 파일의 경로입니다.속성 project_url
프로젝트를 확인할 수 있는 W&B URL입니다.속성 resume_fname
재개 파일의 경로입니다.속성 run_mode
run의 모드입니다."run" 또는 "offline-run" 중 하나일 수 있습니다.
속성 run_url
run을 확인할 수 있는 W&B URL입니다.속성 settings_workspace
Workspace 설정 파일 경로입니다.속성 sweep_url
스윕을 확인할 수 있는 W&B URL입니다.속성 sync_dir
run 파일을 저장하는 디렉터리입니다.속성 sync_file
append-only 바이너리 트랜잭션 로그 파일의 경로입니다.속성 sync_symlink_latest
가장 최근 run의 트랜잭션 로그 파일을 가리키는 심볼릭 링크의 경로입니다.속성 timespec
run의 시간 지정 형식입니다.속성 wandb_dir
wandb 디렉터리의 전체 경로입니다.메서드
메서드 Settings.validate_anonymous()
인수
value:
메서드 Settings.validate_x_extra_http_headers()
인수
value:
메서드 Settings.validate_x_stats_coreweave_metadata_base_url()
인수
value: