클래스 wandb.Run
W&B가 로깅하는 연산 단위입니다. 일반적으로 ML 실험에 해당합니다.wandb.init()을 호출하여
새 run을 생성하세요. wandb.init()은 새 run을 시작하고 wandb.Run 객체를 반환합니다.
각 run은 고유 ID(run ID)와 연결됩니다. W&B는
컨텍스트 관리자(with 문)를 사용하여 run을 자동으로 종료할 것을 권장합니다.
분산 트레이닝 실험에서는 프로세스마다 하나의 run을 사용하여 각 프로세스를
개별적으로 추적하거나 모든 프로세스를 하나의 run으로 추적할 수 있습니다.
자세한 내용은 분산 트레이닝 실험 로깅을
참고하세요.
wandb.Run.log()를 사용하여 run에 데이터를 로깅할 수 있습니다.
wandb.Run.log()로 로깅하는 모든 데이터는 해당 run으로 전송됩니다.
자세한 내용은 실험 생성 또는
wandb.init API 레퍼런스 페이지를
참고하세요.
또 다른 Run 객체가
wandb.apis.public
namespace에 있습니다. 이 객체를 사용하여 이미 생성된 run과
상호작용하세요.
속성
summary: (Summary) run의 요약으로, 딕셔너리와 유사한 객체입니다. 자세한 내용은 summary 메트릭 로깅하기를 참조하세요.
예시
wandb.init()으로 run을 생성하세요:
속성
wandb_config.Config
이 run에 연결된 설정 객체입니다.
wandb_config.ConfigStatic
이 run에 연결된 정적 설정 객체입니다.
str
run의 파일이 저장되는 디렉터리입니다.
run.save()로 저장된 파일을 가리키며, run.log()에 전달된 특정 데이터 유형에 대해 자동으로 생성된 파일도 포함됩니다. run의 모든 데이터를 포함하는 디렉터리는 run.sync_dir을 참조하세요.bool
run이 비활성화된 경우 True, 그렇지 않으면 False입니다.
str
run에 연결된 W&B entity의 이름입니다.entity는 사용자 이름이거나 팀 또는 조직의 이름일 수 있습니다.
str
이 run에 연결된 그룹의 이름을 반환합니다.run을 함께 그룹화하면 관련된 실험을 W&B UI에서 조직하고 집합적으로 시각화할 수 있습니다. 이는 분산 트레이닝이나 교차 검증과 같이 여러 run을 하나의 통합된 실험으로 보고 관리해야 하는 시나리오에 특히 유용합니다.모든 프로세스가 동일한 run 객체를 공유하는 shared 모드에서는 그룹을 설정할 필요가 없습니다. run이 하나뿐이고 그룹화가 필요하지 않기 때문입니다.
str
이 run의 식별자입니다.
str
run에 연결된 작업 유형의 이름입니다.W&B App의 run Overview 페이지에서 run의 작업 유형을 확인할 수 있습니다.“training”, “evaluation” 또는 “inference”와 같이 작업 유형으로 run을 분류하는 데 사용할 수 있습니다. 이는 동일한 프로젝트 내에 서로 다른 작업 유형을 가진 여러 run이 있을 때 W&B UI에서 run을 조직하고 필터링하는 데 유용합니다. 자세한 내용은 Organize runs를 참조하세요.
str | None
run의 표시 이름입니다.표시 이름은 고유성이 보장되지 않으며 설명적일 수 있습니다. 기본적으로 무작위로 생성됩니다.
str | None
run에 연결된 notes가 있는 경우 해당 notes입니다.notes는 여러 줄 문자열일 수 있으며
$$ 안에 markdown과 latex 수식(예: $x + 3$)도 사용할 수 있습니다.bool
run이 오프라인인 경우 True, 그렇지 않으면 False입니다.
str
run의 경로입니다.run 경로는
entity/project/run_id 형식으로 entity, 프로젝트, run ID를 포함합니다.str
run에 연결된 W&B 프로젝트의 이름입니다.
str | None
run에 연결된 W&B 프로젝트의 URL입니다(있는 경우).오프라인 run에는 프로젝트 URL이 없습니다.
bool
run이 재개된 경우 True, 그렇지 않으면 False입니다.
Settings
run의 Settings 객체의 고정된 복사본입니다.
float
run이 시작된 시점의 Unix 타임스탬프(초)입니다.
int
다음
log() 호출의 W&B step입니다.mode=“shared” run에서는 오류를 발생시킵니다.str | None
run에 연결된 스윕의 식별자입니다(있는 경우).
str | None
run에 연결된 스윕의 URL입니다(있는 경우).오프라인 run에는 스윕 URL이 없습니다.
str
run의 모든 데이터를 포함하는 디렉터리입니다.
wandb sync에 전달하여 run을 업로드하거나 다시 업로드할 수 있습니다.tuple | None
run에 연결된 태그가 있는 경우 해당 태그입니다.
str | None
W&B run의 URL입니다(있는 경우).오프라인 run에는 URL이 없습니다.
메서드
방법 Run.alert()
str
알림의 제목으로, 길이는 64자 미만이어야 합니다.
str
알림의 본문입니다.
str | AlertLevel | None
사용할 알림 수준으로,
INFO, WARN, ERROR 중 하나입니다.int | float | timedelta | None
이 제목으로 다른 알림을 보내기 전에 대기할 시간(초)입니다.
방법 Run.define_metric()
wandb.Run.log()로 로깅하는 메트릭을 사용자 지정하세요.
str
사용자 지정할 메트릭의 이름입니다.
str | wandb_metric.Metric | None
자동으로 생성되는 차트에서 이 메트릭의 X축으로 사용할 다른 메트릭의 이름입니다.
bool | None
step_metric의 값이 명시적으로 제공되지 않으면 마지막 값을
wandb.Run.log()에 자동으로 삽입합니다. step_metric이 지정되면 기본값은 True입니다.자동 플롯에서 이 메트릭을 숨깁니다.
str | None
요약에 추가할 집계 메트릭을 지정합니다. 지원되는 집계에는 “min”, “max”, “mean”, “last”, “first”, “copy”, “none”이 있습니다. “none”은 요약이 생성되지 않도록 합니다. “copy”는 사용 중단되었으므로 사용하지 마세요.
bool | None
false이면 지정되지 않은 매개변수에 이전 호출의 값을 사용하여 이 호출을 동일한 메트릭에 대한 이전
define_metric 호출과 병합합니다. true이면 지정되지 않은 매개변수가 이전 호출에서 지정한 값을 덮어씁니다.방법 Run.display()
int
설명이 제공되지 않았습니다.
설명이 제공되지 않았습니다.
방법 Run.finish()
- Running: 데이터를 로깅하거나 하트비트를 보내고 있는 활성 run입니다.
- Crashed: 예기치 않게 하트비트 전송을 중단한 run입니다.
- Finished: 모든 데이터가 동기화되고 성공적으로 완료된 run입니다(
exit_code=0). - Failed: 오류가 발생한 채 완료된 run입니다(
exit_code!=0). - Killed: 종료되기 전에 강제로 중단된 run입니다.
int | None
run의 종료 상태를 나타내는 정수입니다. 성공 시 0을 사용하세요. 다른 값을 사용하면 run이 실패로 표시됩니다.
방법 Run.finish_artifact()
Artifact | str
이 아티팩트의 콘텐츠 경로로,
다음 형식을 사용할 수 있습니다:
/local/directory/local/directory/file.txts3://bucket/pathwandb.Artifact를 호출하여 생성한 Artifact 객체를 전달할 수도 있습니다.
str | None
아티팩트 이름입니다. entity/project를 접두사로 붙일 수 있습니다.
유효한 이름은 다음 형식일 수 있습니다:
- name:version
- name:alias
- digest 지정하지 않으면 경로의 기본 이름 앞에 현재 run ID를 붙인 값이 기본값으로 사용됩니다.
str | None
로깅할 아티팩트의 유형입니다. 예시로는
dataset, model이 있습니다.list[str] | None
이 아티팩트에 적용할 별칭입니다. 기본값은
["latest"]입니다.str | None
모든 분산 작업이 공유하는 고유 string입니다. None이면 run의 그룹 이름이 기본값으로 사용됩니다.
방법 Run.link_artifact()
Artifact
컬렉션에 연결할 아티팩트 객체입니다.
str
컬렉션의 경로입니다. 경로는 접두사 “wandb-registry-”, 레지스트리 이름, 컬렉션 이름으로 구성됩니다(
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}).list[str] | None
연결된 아티팩트에 추가할 별칭(하나 이상)입니다. “latest” 별칭은 가장 최근에 연결한 아티팩트에 자동으로 적용됩니다.
방법 Run.link_model()
- ‘name’ 모델 아티팩트가 로깅되었는지 확인합니다. 로깅되었다면 ‘path’에 있는 파일과 일치하는 아티팩트 버전을 사용하거나 새 버전을 로깅합니다. 그렇지 않으면 ‘path’ 아래의 파일을 ‘name’이라는 새 모델 아티팩트로 로깅하며, 유형은 ‘model’입니다.
- ‘model-registry’ 프로젝트에 이름이 ‘registered_model_name’인 등록된 모델이 있는지 확인합니다. 없다면 이름이 ‘registered_model_name’인 등록된 모델을 새로 생성합니다.
- 모델 아티팩트 ‘name’의 버전을 등록된 모델 ‘registered_model_name’에 연결합니다.
- ‘aliases’ 목록의 별칭을 새로 연결된 모델 아티팩트 버전에 추가합니다.
StrPath
(str) 이 모델의 콘텐츠 경로이며, 다음
형식일 수 있습니다:
/local/directory/local/directory/file.txts3://bucket/path
str
모델을 연결할 등록된 모델의 이름입니다. 등록된 모델은 모델 레지스트리에 연결된 모델 버전의 컬렉션으로, 일반적으로 팀의 특정 ML 작업을 나타냅니다. 이 등록된 모델이 속한 entity는 run에서 결정됩니다.
str | None
‘path’의 파일을 로깅할 모델 아티팩트의 이름입니다. 지정하지 않으면 기본값은 경로의 기본 이름 앞에 현재 run ID를 붙인 값이 됩니다.
list[str] | None
등록된 모델 내에서 이 연결된 아티팩트에만 적용할 별칭입니다. “latest” 별칭은 연결된 아티팩트의 최신 버전에 항상 적용됩니다.
AssertionError: registered_model_name이 경로이거나 모델 아티팩트 ‘name’의 유형에 부분 문자열 ‘model’이 포함되지 않은 경우.ValueError: name에 유효하지 않은 특수 문자가 포함된 경우.
방법 Run.log()
log를 사용하여 run의 스칼라, 이미지, 비디오,
히스토그램, 플롯, table 등의 데이터를 로깅하세요. 코드 스니펫, 권장사항 등은 객체 및 미디어 로깅을
참고하세요.
기본 사용:
wandb.Table을 사용해 구조화된 데이터를 로깅할 수 있습니다. 자세한 내용은
table 로깅, 데이터 시각화 및 쿼리
튜토리얼을 참조하세요.
W&B는 이름에 슬래시(/)가 포함된 메트릭을
마지막 슬래시 앞의 텍스트를 이름으로 사용하는 섹션으로 구성합니다. 예를 들어,
다음 코드는 “train”과 “validate”라는 두 섹션을 생성합니다.
run.log({"a/b/c": 1})는
“a”라는 이름의 섹션을 생성합니다.
run.log()는 초당 몇 회를 초과하여 호출하도록 설계되지 않았습니다.
최적의 성능을 위해 N번의 반복마다 한 번만 로깅하거나,
여러 반복에 걸쳐 데이터를 수집한 후 하나의 step에 로깅하세요.
기본적으로 log를 호출할 때마다 새로운 “step”이 생성됩니다.
step은 항상 증가해야 하며, 이전 step에는
로깅할 수 없습니다. 차트의 X축에는 어떤 메트릭이든 사용할 수 있습니다.
자세한 내용은 맞춤형 로그 축을
참고하세요.
많은 경우 W&B step을 트레이닝 단계보다는
타임스탬프처럼 취급하는 것이 더 좋습니다.
wandb.Run.log() 호출을 사용하여
step 및 commit 매개변수로 동일한 step에 로깅할 수 있습니다.
다음은 모두 동일합니다:
dict[str, Any]
직렬화 가능한 Python 객체(
int, float, string 포함; wandb.data_types 중 하나; 직렬화 가능한 Python 객체의 목록, 튜플, NumPy 배열; 이 구조의 다른 dict)를 값으로 가지는 str 키의 dict입니다.int | None
로깅할 step 번호입니다.
None이면 암시적으로 자동 증가하는 step이 사용됩니다. 설명의 note를 참조하세요.bool | None
true이면 step을 완료하고 업로드합니다. false이면 step에 대한 데이터를 누적합니다. 설명의 note를 참조하세요.
step이 None이면 기본값은 commit=True이고, 그렇지 않으면 기본값은 commit=False입니다.wandb.Error:wandb.init()전에 호출한 경우.ValueError: 유효하지 않은 데이터를 전달한 경우.
방법 Run.log_artifact()
Artifact | StrPath
(str 또는 Artifact) 이 아티팩트의 콘텐츠 경로로,
다음 형식 중 하나를 사용할 수 있습니다.
/local/directory/local/directory/file.txts3://bucket/pathwandb.Artifact를 호출하여 생성한 Artifact 객체를 전달할 수도 있습니다.
str | None
(str, 선택) 아티팩트 이름입니다. 유효한 이름 형식은 다음과 같습니다.
- name:version
- name:alias
- digest 지정하지 않으면 경로의 기본 이름 앞에 현재 run ID를 붙인 값이 기본값으로 사용됩니다.
str | None
(str) 로깅할 아티팩트의 유형입니다(예:
dataset, model).list[str] | None
(list, 선택) 이 아티팩트에 적용할 별칭입니다. 기본값은
["latest"]입니다.list[str] | None
(list, 선택) 이 아티팩트에 적용할 태그입니다(있는 경우).
방법 Run.log_code()
.py로 끝나는 모든 파일을 로깅합니다.
str | None
코드를 재귀적으로 검색할 상대 경로(
os.getcwd() 기준) 또는 절대 경로입니다.str | None
(str, 선택) 코드 아티팩트의 이름입니다. 기본적으로 아티팩트 이름은
source-$PROJECT_ID-$ENTRYPOINT_RELPATH로 지정됩니다. 여러 run이 동일한 아티팩트를 공유해야 하는 경우도 있는데, 이때 name을 지정하면 됩니다.Callable[[str, str], bool] | Callable[[str], bool]
파일 경로와 (선택적으로) 루트 경로를 받아, 해당 파일을 포함해야 하면 True를, 그렇지 않으면 False를 반환하는 callable입니다. 기본값은
lambda path, root: path.endswith(".py")입니다.Callable[[str, str], bool] | Callable[[str], bool]
파일 경로와 (선택적으로) 루트 경로를 받아, 해당 파일을 제외해야 하면
True를, 그렇지 않으면 False를 반환하는 callable입니다. 기본값은 <root>/.wandb/ 및 <root>/wandb/ 디렉터리 내의 모든 파일을 제외하는 함수입니다.방법 Run.log_model()
StrPath
(str) 이 모델의 내용이 있는 경로이며,
다음 형식을 사용할 수 있습니다.
/local/directory/local/directory/file.txts3://bucket/path
str | None
파일 내용이 추가될 모델 아티팩트에 부여할 이름입니다. 지정하지 않으면 경로의 기본 이름 앞에 현재 run ID를 붙인 값이 기본값으로 사용됩니다.
list[str] | None
생성된 모델 아티팩트에 적용할 별칭입니다. 기본값은
["latest"]입니다.ValueError: name에 유효하지 않은 특수 문자가 포함된 경우.
방법 Run.mark_preempting()
방법 Run.pin_config_keys()
Sequence[str]
고정할 설정 키 이름으로,
run.config를 통해 설정한 키와 일치해야 합니다. 정확한 키 string입니다(점과 슬래시는 경로 구분자가 아닌 리터럴로 처리됩니다). 순서는 유지되며 이 순서로 표시 순서를 확인합니다.방법 Run.restore()
str
파일의 이름입니다.
str | None
파일을 가져올 run의 선택적 경로입니다. 예:
username/project_name/run_id. wandb.init이 호출되지 않은 경우 필수입니다.bool
파일이 로컬에 이미 존재하더라도 다운로드할지 여부입니다.
str | None
파일을 다운로드할 디렉터리입니다. 기본값은 현재 디렉터리이며, wandb.init이 호출된 경우 run 디렉터리입니다.
CommError: W&B가 W&B 백엔드에 연결할 수 없는 경우.ValueError: 파일을 찾을 수 없거나 run_path를 찾을 수 없는 경우.
방법 Run.save()
policy와 관계없이 save가
호출되는 시점에 확장됩니다. 특히 새 파일은
자동으로 포함되지 않습니다.
glob_str은 Python의 glob 모듈을 사용하여 확장됩니다. 정확한 구문과
동작은 https://docs.python.org/3/library/glob.html 을
참고하세요. 특히 *, ?, [] 문자는
실제 파일 이름에 포함되어 있더라도 리터럴 문자가 아닌 glob 메타문자로
처리됩니다(예: “myfile[1].txt”). 파일 이름에
이러한 문자가 포함되어 있고 패턴이 아닌 리터럴로
일치시키려면 save를 호출하기 전에 glob.escape()로 직접
이스케이프하거나, glob=False를 전달하여 패턴
확장을 완전히 비활성화하고 glob_str을 리터럴 경로로 처리하세요.
업로드되는 파일의 디렉터리 구조를 제어하려면
base_path를 지정할 수 있습니다. 이 값은 glob_str의 접두사여야 하며, 그 아래의 디렉터리
구조는 유지됩니다.
절대 경로나 glob이 지정되고 base_path가 없으면 위 예시처럼
디렉터리 한 수준이 유지됩니다.
파일은 자동으로 중복 제거됩니다. 수정하지 않은 동일한 파일에 대해 save()를 여러 번
호출해도 다시 업로드되지 않습니다.
str | os.PathLike
상대 경로, 절대 경로 또는 Unix glob입니다.
str | os.PathLike | None
디렉터리 구조를 추론하는 데 사용할 경로입니다. 예시를 참조하세요.
PolicyName
live, now, end 중 하나입니다.- live: 파일이 변경될 때마다 업로드하여 이전 버전을 덮어씁니다
- now: 지금 파일을 한 번 업로드합니다
- end: run이 종료될 때 파일을 업로드합니다
bool
glob_str을 glob 패턴으로 처리할지 여부입니다. 하위 호환성을 위해 기본값은 True입니다. glob_str을 리터럴 경로로 처리하려면 False로 설정하세요. 예를 들어, 이름에 [, ], *, ?와 같은 glob 메타 문자가 포함되어 있지만 이를 패턴으로 해석하지 않으려는 경우에 사용합니다.방법 Run.status()
방법 Run.unwatch()
torch.nn.Module | Sequence[torch.nn.Module] | None
watch가 호출된 PyTorch 모델의 선택 목록입니다.
방법 Run.upsert_artifact()
Artifact | str
이 아티팩트의 콘텐츠 경로로,
다음 형식을 사용할 수 있습니다:
/local/directory/local/directory/file.txts3://bucket/path
str | None
아티팩트 이름입니다. “entity/project”를 접두사로 붙일 수 있습니다. 지정하지 않으면
경로의 기본 이름 앞에 현재 run ID를 붙인 값이
기본값으로 사용됩니다. 유효한 이름은 다음 형식을 사용할 수 있습니다:
- name:version
- name:alias
- digest
str | None
로깅할 아티팩트의 유형입니다. 일반적인 예시로는
dataset, model이 있습니다.list[str] | None
이 아티팩트에 적용할 별칭이며, 기본값은
["latest"]입니다.str | None
모든 분산 작업이 공유하는 고유한 string입니다. None이면 run의 그룹 이름이 기본값으로 사용됩니다.
방법 Run.use_artifact()
download 또는 file을 호출하여 로컬에서 콘텐츠를 조회합니다.
str | Artifact
사용할 아티팩트의 이름입니다. 아티팩트가 로깅된 프로젝트의 이름으로 접두사가 붙을 수 있습니다(“entity” 또는 “entity/project”). 이름에 entity가 지정되지 않은 경우, run 또는 API 설정의 entity가 사용됩니다.
유효한 이름은 다음 형식을 사용할 수 있습니다
- name:version
- name:alias
str | None
사용할 아티팩트의 유형입니다.
list[str] | None
이 아티팩트에 적용할 별칭
str | None
이 인수는 사용 중단되었으며 아무 작업도 수행하지 않습니다.
방법 Run.use_model()
str
모델 아티팩트 이름입니다. ‘name’은 이미 로깅된
모델 아티팩트의 이름과 일치해야 합니다.
entity/project/를 접두사로 붙일 수 있습니다. 유효한 이름은
다음 형식일 수 있습니다- model_artifact_name:version
- model_artifact_name:alias
AssertionError: 모델 아티팩트 ‘name’이 ‘model’이라는 부분 문자열을 포함하지 않는 유형인 경우.
방법 Run.watch()
torch.nn.Module | Sequence[torch.nn.Module]
모니터링할 단일 모델 또는 모델 시퀀스입니다.
torch.F | None
최적화 중인 손실 함수입니다 (선택).
Literal['gradients', 'parameters', 'all'] | None
“gradients”, “parameters” 또는 “all”을 로깅할지 지정합니다. 로깅을 사용하지 않으려면 None으로 설정하세요. (default=“gradients”).
int
그라디언트와 매개변수를 로깅할 빈도(배치 단위)입니다. (default=1000)
int | None
wandb.watch로 여러 모델을 추적할 때 사용하는 인덱스입니다. (default=None)bool
모델의 계산 그래프를 로깅할지 여부입니다. (default=False)
ValueError:wandb.init()가 호출되지 않았거나 모델이torch.nn.Module의 인스턴스가 아닌 경우.
방법 Run.write_logs()
write_logs를 사용하세요. run이
완료된 후의 Call은 자동으로 무시됩니다.
Python의 logging 모듈과 통합하는
capture_loggers 설정을 사용하는 것을 고려하세요.
str
기록할 텍스트입니다. 끝에 줄바꿈이 없으면 추가됩니다.