class Run
W&B에 의해 로그 기록되는 계산 단위입니다. 일반적으로 이는 하나의 ML 실험(experiment)입니다.
새로운 run을 생성하려면 wandb.init()을 호출하세요. wandb.init()은 새로운 run을 시작하고 wandb.Run 오브젝트를 반환합니다. 각 run은 고유 ID(run ID)와 연결됩니다. W&B는 run을 자동으로 종료하기 위해 컨텍스트(with 문) 매니저를 사용할 것을 권장합니다.
분산 트레이닝 실험의 경우, 프로세스당 하나의 run을 사용하여 각 프로세스를 개별적으로 추적하거나, 모든 프로세스를 단일 run으로 추적할 수 있습니다. 자세한 내용은 분산 트레이닝 실험 로그 기록을 참조하세요.
wandb.Run.log()를 사용하여 데이터를 run에 로그할 수 있습니다. wandb.Run.log()를 사용하여 로그하는 모든 내용은 해당 run으로 전송됩니다. 자세한 정보는 실험 생성하기 또는 wandb.init API 참조 페이지를 확인하세요.
wandb.apis.public 네임스페이스에는 또 다른 Run 오브젝트가 있습니다. 이 오브젝트는 이미 생성된 run들과 상호작용할 때 사용합니다.
Attributes:
summary: (Summary) 딕셔너리 형태의 오브젝트인 run의 요약 정보입니다. 자세한 내용은 다음을 참조하세요:[요약 메트릭 로그 기록](https: //docs.wandb.ai/guides/track/log/log-summary/).
wandb.init()으로 run 생성하기:
property Run.config
이 run과 연결된 Config 오브젝트입니다. Returns:wandb_config.Config: config 프로퍼티 값.
property Run.config_static
이 run과 연결된 정적(static) config 오브젝트입니다. Returns:wandb_config.ConfigStatic: config_static 프로퍼티 값.
property Run.dir
run과 관련된 파일들이 저장되는 디렉토리입니다. Returns:str: dir 프로퍼티 값.
property Run.disabled
run이 비활성화된 경우 True, 그렇지 않으면 False입니다. Returns:bool: disabled 프로퍼티 값.
property Run.entity
run과 연결된 W&B entity의 이름입니다. Entity는 사용자 이름(username)이거나 팀 또는 조직의 이름일 수 있습니다. Returns:str: entity 프로퍼티 값.
property Run.group
이 run과 연결된 그룹의 이름을 반환합니다. Run들을 함께 그룹화하면 W&B UI에서 관련 실험들을 집합적으로 정리하고 시각화할 수 있습니다. 이는 분산 트레이닝이나 교차 검증과 같이 여러 run을 하나의 통합된 실험으로 보고 관리해야 하는 시나리오에서 특히 유용합니다. 모든 프로세스가 동일한 run 오브젝트를 공유하는 공유 모드(shared mode)에서는 단 하나의 run만 존재하므로 일반적으로 그룹 설정이 필요하지 않습니다. Returns:str: group 프로퍼티 값.
property Run.id
이 run의 식별자입니다. Returns:str: id 프로퍼티 값.
property Run.job_type
run과 연결된 job 유형의 이름입니다. W&B 앱의 run Overview 페이지에서 run의 job 유형을 확인할 수 있습니다. 이를 사용하여 run을 “training”, “evaluation”, “inference”와 같은 job 유형별로 분류할 수 있습니다. 이는 특히 동일한 프로젝트 내에 서로 다른 job 유형을 가진 여러 run이 있을 때 W&B UI에서 run을 정리하고 필터링하는 데 유용합니다. 자세한 내용은 Run 정리하기를 참조하세요. Returns:str: job_type 프로퍼티 값.
property Run.name
run의 표시 이름(display name)입니다. 표시 이름은 고유성이 보장되지 않으며 설명을 위해 사용될 수 있습니다. 기본적으로 무작위로 생성됩니다. Returns:str | None: name 프로퍼티 값.
property Run.notes
run과 관련된 메모가 있는 경우 해당 메모입니다. 메모는 여러 줄의 문자열일 수 있으며$$ 내부에 마크다운 및 $x + 3$과 같은 레이텍(latex) 방정식을 사용할 수 있습니다.
Returns:
str | None: notes 프로퍼티 값.
property Run.offline
run이 오프라인 상태이면 True, 그렇지 않으면 False입니다. Returns:bool: offline 프로퍼티 값.
property Run.path
run에 대한 경로입니다. Run 경로는entity/project/run_id 형식으로 entity, 프로젝트, run ID를 포함합니다.
Returns:
str: path 프로퍼티 값.
property Run.project
run과 연결된 W&B 프로젝트의 이름입니다. Returns:str: project 프로퍼티 값.
property Run.project_url
run과 연결된 W&B 프로젝트의 URL입니다(있는 경우). 오프라인 run은 프로젝트 URL을 가지지 않습니다. Returns:str | None: project_url 프로퍼티 값.
property Run.resumed
run이 재개(resumed)된 것이면 True, 그렇지 않으면 False입니다. Returns:bool: resumed 프로퍼티 값.
property Run.settings
run의 Settings 오브젝트의 고정된(frozen) 복사본입니다. Returns:Settings: settings 프로퍼티 값.
property Run.start_time
run이 시작된 시점의 Unix 타임스탬프(초 단위)입니다. Returns:float: start_time 프로퍼티 값.
property Run.sweep_id
run과 연결된 스윕(sweep)의 식별자입니다(있는 경우). Returns:str | None: sweep_id 프로퍼티 값.
property Run.sweep_url
run과 연결된 스윕의 URL입니다(있는 경우). 오프라인 run은 스윕 URL을 가지지 않습니다. Returns:str | None: sweep_url 프로퍼티 값.
property Run.tags
run과 연결된 태그들입니다(있는 경우). Returns:tuple | None: tags 프로퍼티 값.
property Run.url
W&B run의 URL입니다(있는 경우). 오프라인 run은 URL을 가지지 않습니다. Returns:str | None: url 프로퍼티 값.
method Run.alert
title: 알림의 제목, 64자 미만이어야 합니다.text: 알림의 본문 텍스트.level: 사용할 알림 레벨:INFO,WARN, 또는ERROR.wait_duration: 이 제목으로 다른 알림을 보내기 전 대기 시간(초 단위).
method Run.define_metric
wandb.Run.log()로 기록되는 메트릭을 커스터마이징합니다.
Args:
name: 커스터마이징할 메트릭의 이름.step_metric: 자동 생성되는 차트에서 이 메트릭의 X축 역할을 할 다른 메트릭의 이름.step_sync: 명시적으로 제공되지 않은 경우wandb.Run.log()에 step_metric의 마지막 값을 자동으로 삽입합니다. step_metric이 지정된 경우 기본값은 True입니다.hidden: 자동 플롯에서 이 메트릭을 숨깁니다.summary: summary에 추가될 집계 메트릭을 지정합니다. 지원되는 집계에는 “min”, “max”, “mean”, “last”, “first”, “best”, “copy”, “none”이 포함됩니다. “none”은 요약 생성을 방지합니다. “best”는 goal 파라미터와 함께 사용되나, 현재 “best”는 사용 중단(deprecated)되었으므로 대신 “min” 또는 “max”를 사용해야 합니다. “copy” 또한 사용 중단되었습니다.goal: “best” 요약 유형을 해석하는 방법을 지정합니다. 지원되는 옵션은 “minimize”와 “maximize”입니다. “goal”은 사용 중단되었으므로 대신 “min” 또는 “max”를 사용하세요.overwrite: False인 경우, 지정되지 않은 파라미터에 대해 이전define_metric호출의 값을 사용하여 병합합니다. True인 경우, 지정되지 않은 파라미터가 이전 호출의 값을 덮어씁니다.
method Run.display
method Run.finish
- Running: 데이터를 로그하거나 하트비트를 보내는 활성 run.
- Crashed: 하트비트 전송이 예기치 않게 중단된 run.
- Finished: 모든 데이터가 동기화된 상태로 성공적으로 완료된 run (
exit_code=0). - Failed: 오류가 발생하며 완료된 run (
exit_code!=0). - Killed: 완료되기 전에 강제로 중단된 run.
exit_code: run의 종료 상태를 나타내는 정수입니다. 성공의 경우 0을 사용하고, 다른 값은 run이 실패했음을 나타냅니다.quiet: 사용 중단됨.wandb.Settings(quiet=...)를 사용하여 로그 출력 상세도를 구성하세요.
method Run.finish_artifact
artifact_or_path: 이 아티팩트 콘텐츠에 대한 경로로, 다음 형식 중 하나일 수 있습니다:/local/directory/local/directory/file.txts3://bucket/path또한wandb.Artifact를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다.
name: 아티팩트 이름입니다. 앞에 entity/project를 붙일 수 있습니다. 유효한 이름 형식은 다음과 같습니다:- name:version
- name:alias
- digest 지정하지 않으면 경로의 베이스네임 앞에 현재 run id가 붙은 이름이 기본값으로 사용됩니다.
type: 로그할 아티팩트의 유형입니다. 예:dataset,modelaliases: 이 아티팩트에 적용할 에일리어스 리스트로, 기본값은["latest"]입니다.distributed_id: 모든 분산 작업이 공유하는 고유 문자열입니다. None인 경우 기본값은 run의 그룹 이름입니다.
Artifact 오브젝트.
method Run.link_artifact
artifact: 컬렉션에 링크할 아티팩트 오브젝트.target_path: 컬렉션의 경로입니다. 경로는 “wandb-registry-” 접두사와 레지스트리 이름 및 컬렉션 이름인wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}으로 구성됩니다.aliases: 링크된 아티팩트에 하나 이상의 에일리어스를 추가합니다. “latest” 에일리어스는 가장 최근에 링크한 아티팩트에 자동으로 적용됩니다.
method Run.link_model
- ‘name’ 모델 아티팩트가 로그되었는지 확인합니다. 로그되었다면 ‘path’에 있는 파일과 일치하는 아티팩트 버전을 사용하거나 새로운 버전을 로그합니다. 그렇지 않으면 ‘path’ 아래의 파일들을 ‘model’ 유형의 ‘name’이라는 새로운 모델 아티팩트로 로그합니다.
- ‘model-registry’ 프로젝트에 ‘registered_model_name’이라는 이름의 등록된 모델이 있는지 확인합니다. 없으면 ‘registered_model_name’이라는 이름의 새로운 등록된 모델을 생성합니다.
- 모델 아티팩트 ‘name’의 버전을 등록된 모델 ‘registered_model_name’에 링크합니다.
- ‘aliases’ 리스트의 에일리어스들을 새로 링크된 모델 아티팩트 버전에 첨부합니다.
path: (str) 이 모델 콘텐츠의 경로로, 다음 형식 중 하나일 수 있습니다:/local/directory/local/directory/file.txts3://bucket/path
registered_model_name: 모델이 링크될 등록된 모델의 이름입니다. 등록된 모델은 모델 레지스트리에 링크된 모델 버전들의 모음으로, 일반적으로 팀의 특정 ML 태스크를 나타냅니다. 이 등록된 모델이 속한 entity는 run에서 유추됩니다.name: ‘path’의 파일들이 로그될 모델 아티팩트의 이름입니다. 지정하지 않으면 경로의 베이스네임 앞에 현재 run id가 붙은 이름이 기본값으로 사용됩니다.aliases: 등록된 모델 내부에서 이 링크된 아티팩트에만 적용될 에일리어스들입니다. “latest” 에일리어스는 링크된 아티팩트의 최신 버전에 항상 적용됩니다.
AssertionError: registered_model_name이 경로 형식이거나, 모델 아티팩트 ‘name’의 유형에 ‘model’ 문자열이 포함되지 않은 경우 발생합니다.ValueError: name에 유효하지 않은 특수 문자가 포함된 경우 발생합니다.
None을 반환합니다.
method Run.log
log를 사용하여 스칼라, 이미지, 비디오, 히스토그램, 플롯, 테이블 등 run의 데이터를 로그합니다. 코드 조각, 모범 사례 등에 대해서는 오브젝트 및 미디어 로그 기록을 참조하세요.
기본 사용법:
wandb.Table을 사용하여 구조화된 데이터를 로그할 수 있습니다. 자세한 내용은 테이블 로그 기록, 데이터 시각화 및 쿼리 튜토리얼을 참조하세요.
W&B는 이름에 슬래시(/)가 포함된 메트릭을 마지막 슬래시 이전의 텍스트를 사용하여 섹션별로 정리합니다. 예를 들어, 다음 코드는 “train”과 “validate”라는 두 개의 섹션을 생성합니다.
run.log({"a/b/c": 1})은 “a”라는 이름의 섹션을 생성합니다.
run.log()는 초당 몇 번 이상 호출하도록 설계되지 않았습니다. 최적의 성능을 위해 로그 기록을 N회 반복마다 한 번으로 제한하거나, 여러 반복에 걸쳐 데이터를 수집하여 단일 단계에서 로그를 기록하세요.
기본적으로 log를 호출할 때마다 새로운 “step”이 생성됩니다. step은 항상 증가해야 하며, 이전 step으로 로그를 기록하는 것은 불가능합니다. 차트에서 모든 메트릭을 X축으로 사용할 수 있습니다. 자세한 내용은 커스텀 로그 축을 참조하세요.
많은 경우, W&B step을 트레이닝 단계보다는 타임스탬프처럼 취급하는 것이 좋습니다.
step과 commit 파라미터를 사용하여 여러 번의 wandb.Run.log() 호출로 동일한 step에 로그를 기록하는 것이 가능합니다. 다음은 모두 동일한 결과를 냅니다:
data:str키와 직렬화 가능한 값을 가진dict직렬화 가능한 Python 오브젝트 포함:int,float,string; 모든wandb.data_types; 직렬화 가능한 Python 오브젝트의 리스트, 튜플, NumPy 배열; 이 구조의 다른dict들.step: 로그를 기록할 step 번호입니다.None인 경우 암시적으로 자동 증가하는 step이 사용됩니다. 설명의 노트를 참조하세요.commit: True인 경우 step을 마무리하고 업로드합니다. False인 경우 해당 step에 대한 데이터를 축적합니다. 설명의 노트를 참조하세요.step이None이면 기본값은commit=True이고, 그렇지 않으면 기본값은commit=False입니다.
wandb.Error:wandb.init()이전에 호출된 경우.ValueError: 유효하지 않은 데이터가 전달된 경우.
method Run.log_artifact
artifact_or_path: (str 또는 Artifact) 이 아티팩트 콘텐츠에 대한 경로로, 다음 형식 중 하나일 수 있습니다:/local/directory/local/directory/file.txts3://bucket/path또한wandb.Artifact를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다.
name: (str, 선택 사항) 아티팩트 이름입니다. 유효한 이름 형식은 다음과 같습니다:- name:version
- name:alias
- digest 지정하지 않으면 경로의 베이스네임 앞에 현재 run id가 붙은 이름이 기본값으로 사용됩니다.
type: (str) 로그할 아티팩트의 유형입니다. 예:dataset,modelaliases: (list, 선택 사항) 이 아티팩트에 적용할 에일리어스 리스트로, 기본값은["latest"]입니다.tags: (list, 선택 사항) 이 아티팩트에 적용할 태그들입니다(있는 경우).
Artifact 오브젝트.
method Run.log_code
.py로 끝나는 모든 파일을 로그합니다.
Args:
root: 코드를 재귀적으로 찾을 상대 경로(os.getcwd()기준) 또는 절대 경로입니다.name: (str, 선택 사항) 코드 아티팩트의 이름입니다. 기본적으로 아티팩트 이름은source-$PROJECT_ID-$ENTRYPOINT_RELPATH로 지정됩니다. 여러 run이 동일한 아티팩트를 공유하도록 하려는 경우 name을 지정하여 이를 수행할 수 있습니다.include_fn: 파일 경로와 (선택 사항) 루트 경로를 인수로 받아 포함해야 하면 True, 그렇지 않으면 False를 반환하는 콜러블(callable)입니다.기본값은lambda path, root: path.endswith(".py")입니다.exclude_fn: 파일 경로와 (선택 사항) 루트 경로를 인수로 받아 제외해야 하면True, 그렇지 않으면False를 반환하는 콜러블입니다. 기본값은<root>/.wandb/및<root>/wandb/디렉토리 내의 모든 파일을 제외하는 함수입니다.
Artifact 오브젝트를 반환합니다.
method Run.log_model
path: (str) 이 모델 콘텐츠의 경로로, 다음 형식 중 하나일 수 있습니다:/local/directory/local/directory/file.txts3://bucket/path
name: 파일 콘텐츠가 추가될 모델 아티팩트에 할당할 이름입니다. 지정하지 않으면 경로의 베이스네임 앞에 현재 run id가 붙은 이름이 기본값으로 사용됩니다.aliases: 생성된 모델 아티팩트에 적용할 에일리어스로, 기본값은["latest"]입니다.
ValueError: name에 유효하지 않은 특수 문자가 포함된 경우 발생합니다.
method Run.mark_preempting
method Run.restore
name: 파일의 이름.run_path: 파일을 가져올 run에 대한 선택적 경로입니다(예:username/project_name/run_id). wandb.init이 호출되지 않은 경우 이 경로가 필수입니다.replace: 로컬에 이미 파일이 있더라도 다운로드할지 여부.root: 파일을 다운로드할 디렉토리입니다. 기본값은 현재 디렉토리 또는 wandb.init이 호출된 경우 run 디렉토리입니다.
CommError: W&B 백엔드에 연결할 수 없는 경우.ValueError: 파일을 찾을 수 없거나 run_path를 찾을 수 없는 경우.
method Run.save
policy와 관계없이 save가 호출되는 시점에 확장됩니다. 특히, 새로운 파일들은 자동으로 감지되지 않습니다.
업로드된 파일의 디렉토리 구조를 제어하기 위해 base_path를 제공할 수 있습니다. 이는 glob_str의 접두사여야 하며, 그 아래의 디렉토리 구조가 보존됩니다.
절대 경로 또는 glob이 주어지고 base_path가 없는 경우, 위의 예시처럼 한 단계의 디렉토리 레벨이 보존됩니다.
파일은 자동으로 중복 제거됩니다: 수정한 내용 없이 동일한 파일에 대해 save()를 여러 번 호출해도 다시 업로드되지 않습니다.
Args:
glob_str: 상대 또는 절대 경로 또는 Unix glob.base_path: 디렉토리 구조를 유추하는 데 사용할 경로입니다. 예시를 참조하세요.policy:live,now,end중 하나입니다.- live: 파일이 변경될 때마다 업로드하여 이전 버전을 덮어씁니다.
- now: 지금 한 번 파일을 업로드합니다.
- end: run이 끝날 때 파일을 업로드합니다.
method Run.status
method Run.unwatch
models: watch가 호출되었던 PyTorch 모델들의 선택적 리스트입니다.
method Run.upsert_artifact
artifact_or_path: 이 아티팩트 콘텐츠에 대한 경로로, 다음 형식 중 하나일 수 있습니다:/local/directory/local/directory/file.txts3://bucket/path
name: 아티팩트 이름입니다. “entity/project” 접두사를 붙일 수 있습니다. 지정하지 않으면 경로의 베이스네임 앞에 현재 run ID가 붙은 이름이 기본값으로 사용됩니다. 유효한 이름 형식은 다음과 같습니다:- name:version
- name:alias
- digest
type: 로그할 아티팩트의 유형입니다. 일반적인 예로dataset,model이 있습니다.aliases: 이 아티팩트에 적용할 에일리어스로, 기본값은["latest"]입니다.distributed_id: 모든 분산 작업이 공유하는 고유 문자열입니다. None인 경우 기본값은 run의 그룹 이름입니다.
Artifact 오브젝트.
method Run.use_artifact
download 또는 file을 호출하여 콘텐츠를 로컬로 가져오세요.
Args:
artifact_or_name: 사용할 아티팩트의 이름입니다. 아티팩트가 로그된 프로젝트의 이름(“entity” 또는 “entity/project”)을 앞에 붙일 수 있습니다. 이름에 entity가 지정되지 않은 경우, Run 또는 API 설정의 entity가 사용됩니다. 유효한 이름 형식은 다음과 같습니다:- name:version
- name:alias
type: 사용할 아티팩트의 유형.aliases: 이 아티팩트에 적용할 에일리어스.use_as: 이 인수는 사용 중단(deprecated)되었으며 아무런 동작도 하지 않습니다.
Artifact 오브젝트.
Examples:
method Run.use_model
name: 모델 아티팩트 이름입니다. ‘name’은 이미 로그된 기존 모델 아티팩트의 이름과 일치해야 합니다.entity/project/접두사를 붙일 수 있습니다. 유효한 이름 형식은 다음과 같습니다:- model_artifact_name:version
- model_artifact_name:alias
path(str): 다운로드된 모델 아티팩트 파일(들)의 경로.
AssertionError: 모델 아티팩트 ‘name’의 유형에 ‘model’ 문자열이 포함되지 않은 경우 발생합니다.
method Run.watch
models: 모니터링할 단일 모델 또는 모델 시퀀스.criterion: 최적화 중인 손실 함수(선택 사항).log: “gradients”, “parameters”, 또는 “all” 중 무엇을 로그할지 지정합니다. 로그 기록을 비활성화하려면 None으로 설정하세요. (기본값=“gradients”).log_freq: 그레이디언트와 파라미터를 로그할 빈도(배치 단위)입니다. (기본값=1000)idx:wandb.watch로 여러 모델을 추적할 때 사용하는 인덱스입니다. (기본값=None)log_graph: 모델의 계산 그래프를 로그할지 여부입니다. (기본값=False)
wandb.init()이 호출되지 않았거나, 모델 중 어느 하나라도 torch.nn.Module의 인스턴스가 아닌 경우 발생합니다.