클래스 wandb.Settings
W&B SDK의 설정입니다. 이 클래스는 W&B SDK의 설정을 관리하며, 모든 설정의 유형 안전성과 검증을 보장합니다. 설정은 속성으로 액세스할 수 있으며 프로그래밍 방식, 환경 변수(WANDB_ prefix), 설정 파일을 통해 초기화할 수 있습니다.
설정은 세 가지 범주로 구성됩니다:
- 공개 설정: 사용자가 특정 요구에 맞게 W&B의 동작을 사용자 지정하기 위해 안전하게 수정할 수 있는 핵심 설정 옵션입니다.
- 내부 설정: SDK의 저수준 동작을 처리하는 ‘x_’ 접두사가 붙은 설정입니다. 주로 내부 사용과 디버깅을 위한 설정입니다. 수정할 수는 있지만, 공개 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설정을 재정의합니다).
Args
bool
미디어 파일을 run 디렉터리에 심볼릭 링크할지 여부입니다.true이면 미디어 파일이 run 디렉터리로 복사되는 대신 심볼릭 링크 또는
하드 링크됩니다. 이렇게 하면 로깅 속도가 빨라지고 디스크 사용량이
줄어들 수 있습니다. 단, W&B 서버에 업로드하기 전에 원본 파일을
삭제하거나 수정하면 업로드된 데이터에 그대로 반영됩니다.
bool
오프라인 모드에서 table 아티팩트의 동기화를 허용하는 플래그입니다.이전 동작으로 되돌리려면 이 값을 False로 설정하세요.
bool
이미 설정된
Config 값의 수정을 허용하는 플래그입니다.object
사용 중단되었으며 향후 제거될 예정입니다.
str | None
W&B API 키입니다.
dict[str, str] | None
Azure 인테그레이션에 사용할 Azure 계정 URL과 해당 액세스 키의 매핑입니다.
str | None
W&B UI의 ‘app’ URL을 재정의합니다.
app_url은 일반적으로 base_url을 기반으로 계산되지만, 이 설정을 사용하면
명시적으로 지정할 수 있습니다.해당 환경 변수는 WANDB_APP_URL입니다.str
데이터 동기화에 사용할 W&B 백엔드의 URL입니다.
str | None
W&B가 추적할 코드가 포함된 디렉터리입니다.
collections.abc.Sequence[str] | None
Config 객체로 설정을 불러올 파일의 경로입니다.Literal
적용할 콘솔 캡처 유형입니다.가능한 값은 다음과 같습니다.
- “auto” - 시스템 환경과 설정에 따라 콘솔 캡처 방법을 자동으로 선택합니다.
- “off” - 콘솔 캡처를 비활성화합니다.
- “redirect” - 출력을 캡처하기 위해 저수준 파일 디스크립터를 리디렉션합니다.
- “wrap” - sys.stdout/sys.stderr의 write 메서드를 재정의합니다. 시스템 상태에 따라 “wrap_raw” 또는 “wrap_emu”로 매핑됩니다.
- “wrap_raw” - “wrap”과 같지만 에뮬레이터를 거치지 않고 원시 출력을 직접
캡처합니다.
wrap설정에서 파생되므로 수동으로 설정하면 안 됩니다. - “wrap_emu” - “wrap”과 같지만 에뮬레이터를 통해 출력을 캡처합니다.
wrap설정에서 파생되므로 수동으로 설정하면 안 됩니다.
bool
멀티파트 콘솔 로깅을 활성화합니다.True이면 SDK는 콘솔 출력을 단일
output.log 대신 logs/ 디렉터리 아래의
타임스탬프가 붙은 파일에 기록합니다.각 파트는 닫히는 즉시 업로드되므로, run이 활성 상태인 동안에도 사용자가
로그를 실시간으로 확인할 수 있습니다. 롤오버 주기는
console_chunk_max_bytes 및/또는 console_chunk_max_seconds로 제어됩니다.
두 한도가 모두 0이면 run 종료 시 모든 로그가 한 번에 업로드됩니다.참고: 업로드된 청크는 변경할 수 없습니다. 이전 줄을 수정하는 터미널 제어
시퀀스(예: 캐리지 리턴을 사용하는 진행률 표시줄)는 현재 청크에만
영향을 줍니다.int
멀티파트 콘솔 로그의 크기 기반 롤오버 임계값(바이트 단위)입니다.현재 파트가 이 크기에 도달하면 새 콘솔 로그 파일을 시작합니다.
console_multipart가 True인 경우에만 적용됩니다.
console_chunk_max_seconds와 함께 사용할 수 있으며, 둘 중 먼저 도달한 한도가
롤오버를 트리거합니다. 값이 0이면 크기 기반 한도가
비활성화됩니다.int
멀티파트 콘솔 로그의 시간 기반 롤오버 임계값(초 단위)입니다.현재 파트가 시작된 후 지정한 시간(초)이 지나면 새 콘솔 로그 파일을
시작합니다.
console_multipart가 True여야 합니다.
console_chunk_max_bytes와 함께 사용할 수 있으며, 둘 중 먼저 도달한 한도에서
파트가 닫힙니다. 값이 0이면 시간 기반 한도가
비활성화됩니다.dict[str, str] | None
run의 Logs 탭으로 캡처할 Python 로거의 이름입니다.로거 이름과 최소 로그 수준을 연결하는 매핑입니다. 설정하면 wandb가
각 지정된 로거에 logging.Handler를 설치하고 run이 종료되면 제거합니다.
해당 로거에서 생성된 로그 레코드는 stdout/stderr 캡처와 유사하게
run의 콘솔 출력으로 게시됩니다.로그 레코드는
logging.basicConfig()와 동일한 형식으로 표시됩니다. 예를 들어
INFO:my_module:Some message.와 같습니다. 현재 이 형식은 맞춤 설정할 수 없습니다.모든 로그를 캡처하려면 루트 로거의 이름인 ‘root’를 전달하세요.이 설정은 console 설정과 독립적이며, 두 설정을
동시에 활성화할 수 있습니다.예시:str
임시 액세스 토큰을 기록할 파일의 경로입니다.
bool
코드 캡처를 비활성화할지 여부입니다.
bool
git 상태 캡처를 비활성화할지 여부입니다.
bool
원격 브랜치에서 분기 지점 추론을 비활성화할지 여부입니다True로 설정하면 SDK는 업스트림 브랜치가 설정되어 있는 경우
해당 브랜치의 최신 커밋을 사용합니다. 그렇지 않으면 차이 패치 생성을 건너뜁니다.False로 설정하면 SDK는 업스트림 브랜치가 설정되어 있는 경우 해당 브랜치의 최신 커밋을
사용하려고 시도합니다.
그렇지 않으면 모든 원격 브랜치에서 가장 가까운 커밋을 찾습니다.
업스트림 브랜치가 많은 저장소에서는 성능에 영향을 줄 수 있습니다.
bool
W&B Launch용 작업 아티팩트 생성을 비활성화할지 여부입니다.
str | None
스크립트 실행에 사용되는 도커 이미지입니다.
str | None
사용자의 이메일 주소입니다.
str | None
사용자 또는 팀과 같은 W&B entity입니다.
str | None
W&B 조직입니다.
bool
wandb.login()에 force 플래그를 전달할지 여부입니다.wandb.sdk.lib.run_moment.RunMoment | None
이전 run 실행에서 분기할 지점을 지정합니다.이 지점은 run ID, 메트릭 및 해당 값으로 정의됩니다.
현재는 ‘_step’ 메트릭만 지원됩니다.
str | None
run과 연결할 git 커밋 해시입니다.
str
run과 연결할 git 원격입니다.
str | None
git 원격 저장소의 URL입니다.
str | None
git 저장소의 루트 디렉터리입니다.
str | None
스크립트를 실행하는 머신의 호스트 이름입니다.
str | None
W&B로 보내는 http 요청에 사용할 맞춤형 프록시 서버입니다.
str | None
W&B로 보내는 https 요청에 사용할 맞춤형 프록시 서버입니다.
str | None
인증용 ID 토큰(JWT)이 포함된 파일의 경로입니다.
Sequence
업로드에서 제외할 파일을 지정하는
files_dir 기준의 Unix glob 패턴입니다.float
timeout이 발생하기 전에
wandb.init 호출이 완료되기를 기다리는 시간(초)입니다.float
run이 끝날 때 데이터 업로드를 기다리는 시간(초)입니다.이 값을 설정하면 run이 끝날 때 W&B로의 업로드가 느려져 발생하는 비용을
줄일 수 있지만, 그 대신 run이 crashed로 표시되고 일부 데이터가
누락될 수 있습니다. 기본적으로
run.finish()는 모든
데이터의 업로드가 끝날 때까지 블로킹됩니다.이 값을 0보다 큰 숫자로 설정하면 W&B는 run이 끝날 때 지정한 시간(초)이 지나면
run 데이터 업로드를 중단하고 스크립트의 블로킹을 해제합니다. 얼마 후 UI에서 run은
Crashed 또는 Failed 상태가 됩니다. 업로드되지 않은
데이터는 디스크에 그대로 저장되어 있으며 wandb sync로 업로드할 수 있습니다.경고 메시지를 출력하는 것과 함께 오류도 발생시키려면 finish_timeout_raises
설정을 사용하세요.wandb.teardown()(스크립트 종료 시 atexit 훅에서 자동으로 실행됨)으로
종료되는 run에도 이 설정이 적용됩니다.bool
finish_timeout이 만료되면 TimeoutError를 발생시킬지 여부입니다.
finish_timeout 설정과 함께 사용하면 run.finish()가
timeout 후 메시지를 출력할 뿐만 아니라 TimeoutError도 발생시킵니다.run을 컨텍스트 매니저로 사용하면 run.finish()가 암묵적으로
호출된다는 점에 유의하세요.with wandb.init() as run:
… # run.finish()는 with 블록 끝에서 실행됩니다이 설정을 사용해도 wandb.teardown()은 오류를 발생시키지 않습니다(어차피
스크립트 끝에서 실행되기 때문입니다).bool
보안 위험을 감수하고 SSL 확인을 비활성화할지 여부입니다.
str | None
스크립트를 실행하는 Launch 작업의 이름입니다.
Optional
Launch의 소스 유형입니다.
bool
자동 레이블 지정 기능을 비활성화할지 여부입니다.
str | None
Launch 설정 파일의 경로입니다.
float | None
로그인 오퍼레이션이 timeout되기 전까지 기다리는 시간(초)입니다.
Literal
W&B 로깅 및 동기화의 작동 모드입니다.
str | None
Jupyter와 유사한 환경에서 실행 중인 경우 노트북의 이름입니다.
str | None
run을 생성한 스크립트의 경로입니다(사용 가능한 경우).
str | None
루트 저장소 디렉터리에서 run을 생성한 스크립트까지의
절대 경로입니다.루트 저장소 디렉터리는 .git 디렉터리가 있으면 이를 포함하는
디렉터리이고, 없으면 현재 작업 디렉터리입니다.
str | None
run을 생성한 스크립트의 상대 경로입니다.
str | None
W&B 프로젝트 ID입니다.
bool
필수적이지 않은 출력을 표시하지 않는 플래그입니다.
Union
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에 의존하는 일부 이전 인테그레이션은 작동하지 않습니다. 불리언 값도 사용할 수 있지만 이 방식은 사용 중단되었습니다. False는 “return_previous”와 같고, True는 “finish_previous”와 같습니다.
bool
로그인을 강제로 다시 시도하는 플래그입니다.
Optional
run의 재개 동작을 지정합니다.옵션:
- “must”: 동일한 ID를 가진 기존 run에서 재개합니다. 해당 run이 없으면 실패합니다.
- “allow”: 동일한 ID를 가진 기존 run에서 재개하려고 시도합니다. 없으면 새 run을 생성합니다.
- “never”: 항상 새 run을 시작합니다. 동일한 ID의 run이 이미 있으면 실패합니다.
- “auto”: 동일한 머신에서 가장 최근에 실패한 run에서 자동으로 재개합니다.
wandb.sdk.lib.run_moment.RunMoment | None
이전 run 실행의 특정 지점에서 재개할 지점을 지정합니다.지점은 run ID, 메트릭, 그리고 해당 값으로 정의됩니다.
현재는 ‘_step’ 메트릭만 지원됩니다.
str
모든 run 관련 경로의 기준으로 사용할 루트 디렉터리입니다.특히 wandb 디렉터리와 run 디렉터리를 파생하는 데 사용됩니다.
str | None
관련 run의 그룹 식별자입니다.UI에서 run을 그룹화하는 데 사용됩니다.
str | None
run의 ID입니다.
str | None
실행 중인 작업의 유형입니다(예: 트레이닝, evaluation).
str | None
run의 사람이 읽을 수 있는 이름입니다.
str | None
run에 대한 추가 notes 또는 설명입니다.
tuple[str, ...] | None
조직화 및 필터링을 위해 run과 연결할 tags입니다.
bool
SageMaker 관련 기능을 비활성화하는 플래그입니다.
bool | None
run과 연결된 코드를 저장할지 여부입니다.
str | None
시스템 전체 설정 파일의 경로입니다.
collections.abc.Callable[[], None] | None
run을 중지하기 위해 실행할 callback입니다.run은 웹 UI를 통해 또는 치명적인 오류 후(설정을 통해 구성된 경우) 중지될 수 있습니다.기본적으로 run을 중지하기 위해 W&B는 메인 스레드에 SIGINT를 보냅니다.
다른 시그널을 사용하거나 인터럽트 전에 다른 작업을 수행하려는 경우 이 callback을 설정하여 기본 동작을 재정의하세요.callback은 별도의 스레드에서 실행됩니다. 중지가 요청된 직후 실행되지만 즉시 실행되지는 않습니다.
int
run 종료 시 표시할 이력 sparkline의 최대 개수입니다.
int
run 종료 시 표시할 summary 메트릭의 최대 개수입니다.
bool
오류 메시지를 표시할지 여부입니다.
bool
정보 메시지를 표시할지 여부입니다.
bool
경고 메시지를 표시할지 여부입니다.
bool
모든 출력을 억제하는 플래그입니다.
bool
치명적인 오류 후 run을 중지할지 여부입니다.W&B가 데이터를 업로드하는 동안 복구 불가능한 오류를 만나면 메시지를 출력하고 업로드를 중지하지만, 추가 데이터 로깅은 계속 허용합니다.
이는 일반적으로 바람직합니다. 트레이닝 메트릭은 디스크에 저장되며
wandb sync를 사용하여 복구할 수 있습니다(업로드되지 않았더라도).트레이닝 후 파일이 삭제되는 경우에는 유용하지 않습니다.
이 경우 이 값을 True로 설정하면 웹 UI에서 중지 버튼을 누른 것처럼 치명적인 오류 후 run이 중지됩니다.bool | None
검증 및 오류 확인을 위한 strict 모드를 활성화할지 여부입니다.
int
summary 오퍼레이션이 타임아웃되기 전에 대기할 시간(초)입니다.
str | None
이 run이 속한 스윕의 식별자입니다.
str | None
스윕 매개변수 설정의 경로입니다.
bool
심볼릭 링크를 사용할지 여부입니다(Windows를 제외하고 기본값은 True).
bool | None
TensorBoard 로그를 W&B와 동기화할지 여부입니다.
bool
table 행 제한을 초과하면 예외를 발생시킬지 여부입니다.
bool | None
run 데이터에 숨겨진
.wandb 디렉터리 또는 표시되는 wandb 디렉터리를 사용할지 여부입니다.True이면 SDK는 .wandb를 사용합니다. False이면 wandb를 사용합니다.
설정하지 않으면 .wandb가 이미 있는 경우 .wandb를, 그렇지 않으면 wandb를 기본값으로 사용합니다.str | None
사용자 이름입니다.
bool
시스템 메타데이터 수집을 비활성화하는 플래그입니다.
bool
시스템 메트릭 수집을 비활성화하는 플래그입니다.
dict[str, str] | None
모든 발신 HTTP 요청에 추가할 헤더입니다.
str | None
run에 대해 수집된 시스템 메트릭과 콘솔 로그에 부여할 레이블입니다.프런트엔드에서 데이터를 그룹화하는 데 사용되며, 분산 트레이닝 작업의
서로 다른 프로세스에서 수집된 데이터를 구분하는 데 사용할 수 있습니다.
bool
내부 wandb 파일과 메타데이터를 저장할지 여부를 확인합니다.분산 환경에서 시스템 메트릭과 로그만 필요한 경우, 기본 프로세스가 주요 로깅을 처리하므로
보조 프로세스가 파일을 덮어쓰는 것을 방지하는 데
유용합니다.
bool
requirements 파일을 저장하는 플래그입니다.
bool
이력에서 summary를 자동으로 계산하는 작업을 서버에 위임하는 플래그입니다.사용자가 제공하는 summary 업데이트는 비활성화하지 않습니다.
float
wandb-core 내부 서비스가 시작될 때까지 기다리는 시간(초)입니다.
bool
run 이벤트를 트랜잭션 로그에 저장하지 않을지 여부입니다.온라인 run에만 적용됩니다. 디스크에 기록되는 데이터의 양을
줄이는 데 사용할 수 있습니다.복구 가능성에 대한 보장이 없어지므로
주의해서 사용해야 합니다.
float
시스템 모니터의 샘플링 간격(초)입니다.
dict[str, str] | None
시스템 메트릭을 모니터링할 OpenMetrics
/metrics 엔드포인트입니다.dict[str, dict[str, str]] | collections.abc.Sequence[str] | None
OpenMetrics
/metrics 엔드포인트에서 수집한 메트릭에 적용할 필터입니다.두 가지 형식을 지원합니다:{"metric regex pattern, including endpoint name as prefix": {"label": "label value regex pattern"}}("metric regex pattern 1", "metric regex pattern 2", ...)
dict[str, str] | None
OpenMetrics 요청에 추가할 HTTP 헤더입니다.
collections.abc.Sequence[str] | None
디스크 사용량을 모니터링할 시스템 경로입니다.
int | None
시스템 CPU 수입니다.설정하면 run 메타데이터에서 자동으로 감지된 값을 재정의합니다.
int | None
논리 CPU 수입니다.설정하면 run 메타데이터에서 자동으로 감지된 값을 재정의합니다.
int | None
GPU 장치 수입니다.설정하면 run 메타데이터에서 자동으로 감지된 값을 재정의합니다.
str | None
GPU 장치 유형입니다.설정하면 run 메타데이터에서 자동으로 감지된 값을 재정의합니다.
collections.abc.Sequence[int] | None
모니터링할 GPU 장치 인덱스입니다.설정하지 않으면 시스템 모니터가 모든 GPU의 메트릭을 캡처합니다.
CUDA/ROCm 장치 열거와 일치하는 0 기반 인덱싱을 가정합니다.
bool
x_stats_pid부터 시작하는 전체 프로세스 트리의 리소스 사용량을 모니터링합니다.True이면 시스템 모니터가 PID가 x_stats_pid인 프로세스와 그 모든 하위 프로세스의
RSS, CPU%, 스레드 수를 집계합니다.
성능 오버헤드가 발생할 수 있으므로 기본적으로 비활성화됩니다.bool
시스템 메트릭 백분율 계산 시 cgroup v2 CPU 및 메모리 제한을 적용하지 않습니다.
str
run의 디렉터리 이름(sync_dir)에 추가할 접미사입니다.이름 충돌을 방지하기 위해 wandb.init()에서 설정됩니다.
설정하면 기본 이름 뒤에 대시(-)로 연결됩니다.
bool
이 프로세스가 서버에 있는 run의 최종 상태를 업데이트할 수 있는지 여부를 나타내는 플래그입니다.분산 트레이닝에서 메인 프로세스만 최종 상태를 확인해야 하는 경우 False로 설정하세요.
속성
str
W&B UI의 URL이며, 일반적으로 https://wandb.ai 입니다.이는 W&B API에 프로그래밍 방식으로 액세스하는 데 사용되는
base_url(예: https://api.wandb.ai )과는 다릅니다.str | None
Colab에서 실행 중인 경우 Colab 노트북의 URL입니다.
Literal['local', 'cloud']
설명이 제공되지 않았습니다.
str
run의 파일이 저장되는 로컬 디렉터리의 절대 경로입니다.
bool
설명이 제공되지 않았습니다.
str
로그 파일을 저장하는 디렉터리입니다.
str
내부 로그에 사용할 파일의 경로입니다.
str
가장 최근 run의 내부 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
str
가장 최근 run의 사용자 프로세스 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
str
사용자 프로세스 로그에 사용할 파일의 경로입니다.
str
프로젝트를 확인할 수 있는 W&B URL입니다.
str
재개 파일의 경로입니다.
Literal['run', 'offline-run']
run의 모드입니다. “run” 또는 “offline-run” 중 하나입니다.
str
run을 확인할 수 있는 W&B URL입니다.
str
Workspace 설정 파일의 경로입니다.
str
스윕을 확인할 수 있는 W&B URL입니다.
str
run의 파일을 저장하는 디렉터리입니다.
str
추가 전용(append-only) 바이너리 트랜잭션 로그 파일의 경로입니다.
str
가장 최근 run의 트랜잭션 로그 파일을 가리키는 심볼릭 링크의 경로입니다.
str
run의 시간 사양입니다.
str
wandb 디렉터리의 전체 경로입니다.
메서드
방법 Settings.validate_anonymous()
object
제공된 설명이 없습니다.
방법 Settings.validate_x_extra_http_headers()
_empty
설명이 제공되지 않았습니다.
방법 Settings.validate_x_stats_coreweave_metadata_base_url()
_empty
설명이 제공되지 않았습니다.