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