View the source code
wandb.init()
으로 run을 생성합니다:
wandb.Run
만 존재하며,
wandb.run
으로 엑세스할 수 있습니다:
wandb.log
로 기록하는 모든 내용은 해당 run으로 전송됩니다.
동일한 스크립트 또는 노트북에서 더 많은 run을 시작하려면 진행 중인 run을
완료해야 합니다. Run은 wandb.finish
를 사용하거나
with
블록에서 사용하여 완료할 수 있습니다:
wandb.init
문서를 참조하거나
wandb.init
가이드를 확인하세요.
분산 트레이닝에서 순위 0 프로세스에서 단일 run을 생성한 다음 해당 프로세스에서만 정보를 기록하거나, 각 프로세스에서 run을 생성하고 각 프로세스에서 별도로 기록한 다음 wandb.init
에 대한 group
인수로 결과를 함께 그룹화할 수 있습니다. W&B를 사용한 분산 트레이닝에 대한 자세한 내용은
가이드를 확인하세요.
현재 wandb.Api
에 병렬 Run
오브젝트가 있습니다. 결국 이 두 오브젝트는 병합될 것입니다.
속성 | Description |
---|---|
summary | (Summary ) 각 wandb.log() 키에 대해 설정된 단일 값입니다. 기본적으로 summary는 마지막으로 기록된 값으로 설정됩니다. 최대 정확도와 같이 최종 값 대신 수동으로 summary를 최적 값으로 설정할 수 있습니다. |
config | 이 run과 관련된 Config 오브젝트입니다. |
dir | run과 관련된 파일이 저장되는 디렉토리입니다. |
entity | run과 관련된 W&B 엔티티의 이름입니다. 엔티티는 사용자 이름이거나 팀 또는 조직의 이름일 수 있습니다. |
group | run과 관련된 그룹의 이름입니다. 그룹을 설정하면 W&B UI에서 run을 합리적인 방식으로 구성하는 데 도움이 됩니다. 분산 트레이닝을 수행하는 경우 트레이닝의 모든 run에 동일한 그룹을 지정해야 합니다. 교차 검증을 수행하는 경우 모든 교차 검증 폴드에 동일한 그룹을 지정해야 합니다. |
id | 이 run의 식별자입니다. |
mode | 0.9.x 및 이전 버전과의 호환성을 위해 결국 더 이상 사용되지 않습니다. |
name | run의 표시 이름입니다. 표시 이름은 고유성이 보장되지 않으며 설명적일 수 있습니다. 기본적으로 무작위로 생성됩니다. |
notes | run과 관련된 메모(있는 경우)입니다. 메모는 여러 줄 문자열일 수 있으며 $$ 안에 마크다운 및 라텍스 수식을 사용할 수도 있습니다(예: $x + 3$ ). |
path | run의 경로입니다. Run 경로는 entity/project/run_id 형식으로 엔티티, 프로젝트 및 run ID를 포함합니다. |
project | run과 관련된 W&B 프로젝트의 이름입니다. |
resumed | run이 재개된 경우 True, 그렇지 않으면 False입니다. |
settings | run의 Settings 오브젝트의 고정된 복사본입니다. |
start_time | run이 시작된 시점의 유닉스 타임스탬프(초)입니다. |
starting_step | run의 첫 번째 단계입니다. |
step | 단계의 현재 값입니다. 이 카운터는 wandb.log 에 의해 증가됩니다. |
sweep_id | run과 관련된 스윕의 ID(있는 경우)입니다. |
tags | run과 관련된 태그(있는 경우)입니다. |
url | run과 관련된 W&B URL입니다. |
메소드
alert
소스 보기
인수 | Description |
---|---|
title | (str) 알림 제목입니다. 64자 미만이어야 합니다. |
text | (str) 알림의 텍스트 본문입니다. |
level | (str 또는 AlertLevel, 선택 사항) 사용할 알림 수준입니다. INFO , WARN 또는 ERROR 중 하나입니다. |
wait_duration | (int, float 또는 timedelta, 선택 사항) 이 제목으로 다른 알림을 보내기 전에 대기할 시간(초)입니다. |
define_metric
소스 보기
wandb.log()
로 기록된 메트릭을 사용자 정의합니다.
인수 | Description |
---|---|
name | 사용자 정의할 메트릭의 이름입니다. |
step_metric | 자동으로 생성된 차트에서 이 메트릭의 X축 역할을 할 다른 메트릭의 이름입니다. |
step_sync | step_metric이 명시적으로 제공되지 않은 경우 마지막 값을 run.log() 에 자동으로 삽입합니다. step_metric이 지정된 경우 기본값은 True입니다. |
hidden | 이 메트릭을 자동 플롯에서 숨깁니다. |
summary | summary에 추가된 집계 메트릭을 지정합니다. 지원되는 집계에는 “min”, “max”, “mean”, “last”, “best”, “copy” 및 “none”이 있습니다. “best”는 goal 파라미터와 함께 사용됩니다. “none”은 summary가 생성되지 않도록 합니다. “copy”는 더 이상 사용되지 않으며 사용해서는 안 됩니다. |
goal | ”best” summary 유형을 해석하는 방법을 지정합니다. 지원되는 옵션은 “minimize” 및 “maximize”입니다. |
overwrite | False인 경우 이 호출은 지정되지 않은 파라미터에 대한 값을 사용하여 동일한 메트릭에 대한 이전 define_metric 호출과 병합됩니다. True인 경우 지정되지 않은 파라미터는 이전 호출에서 지정된 값을 덮어씁니다. |
반환 | Description |
---|---|
이 호출을 나타내는 오브젝트이지만 그렇지 않으면 삭제될 수 있습니다. |
detach
소스 보기
display
소스 보기
finish
소스 보기
Run 상태:
- Running: 데이터를 기록하거나 하트비트를 보내는 활성 run입니다.
- Crashed: 예기치 않게 하트비트 전송을 중단한 run입니다.
- Finished: 모든 데이터가 동기화된 상태로 성공적으로 완료된 run입니다(
exit_code=0
). - Failed: 오류가 발생하여 완료된 run입니다(
exit_code!=0
).
인수 | Description |
---|---|
exit_code | run의 종료 상태를 나타내는 정수입니다. 성공에는 0을 사용하고 다른 값은 run을 실패로 표시합니다. |
quiet | 더 이상 사용되지 않습니다. wandb.Settings(quiet=...) 를 사용하여 로깅 verbosity를 구성합니다. |
finish_artifact
소스 보기
인수 | Description |
---|---|
artifact_or_path | (str 또는 Artifact) 이 아티팩트의 콘텐츠에 대한 경로입니다. 다음 형식이 될 수 있습니다. - /local/directory - /local/directory/file.txt - s3://bucket/path wandb.Artifact 를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다. |
name | (str, 선택 사항) 아티팩트 이름입니다. 엔티티/프로젝트로 시작할 수 있습니다. 유효한 이름은 다음 형식이 될 수 있습니다. - name:version - name:alias - digest 지정하지 않으면 기본적으로 현재 run ID가 접두사로 붙은 경로의 기본 이름으로 설정됩니다. |
type | (str) 기록할 아티팩트의 유형입니다. 예로는 dataset , model 이 있습니다. |
aliases | (list, 선택 사항) 이 아티팩트에 적용할 에일리어스입니다. 기본값은 ["latest"] 입니다. |
distributed_id | (string, 선택 사항) 모든 분산 작업이 공유하는 고유한 문자열입니다. None인 경우 run의 그룹 이름으로 기본 설정됩니다. |
반환 | Description |
---|---|
Artifact 오브젝트입니다. |
get_project_url
소스 보기
get_sweep_url
소스 보기
get_url
소스 보기
join
소스 보기
finish()
의 더 이상 사용되지 않는 에일리어스입니다. 대신 finish를 사용하세요.
link_artifact
소스 보기
인수 | Description |
---|---|
artifact | 연결될 (공개 또는 로컬) 아티팩트입니다. |
target_path | str - 다음 형식을 취합니다. {portfolio} , {project}/{portfolio} 또는 {entity}/{project}/{portfolio} |
aliases | List[str] - 선택적 에일리어스로, 포트폴리오 내의 이 연결된 아티팩트에만 적용됩니다. “latest” 에일리어스는 항상 연결된 아티팩트의 최신 버전에 적용됩니다. |
반환 | Description |
---|---|
None |
link_model
소스 보기
단계:
- ‘name’ 모델 아티팩트가 기록되었는지 확인합니다. 그렇다면 ‘path’에 있는 파일과 일치하는 아티팩트 버전을 사용하거나 새 버전을 기록합니다. 그렇지 않으면 ‘path’ 아래의 파일을 ‘model’ 유형의 새 모델 아티팩트 ‘name’으로 기록합니다.
- 이름이 ‘registered_model_name’인 등록된 모델이 ‘model-registry’ 프로젝트에 있는지 확인합니다. 그렇지 않으면 이름이 ‘registered_model_name’인 새 등록된 모델을 만듭니다.
- 모델 아티팩트 ‘name’ 버전을 등록된 모델 ‘registered_model_name’에 연결합니다.
- ‘aliases’ 목록에서 에일리어스를 새로 연결된 모델 아티팩트 버전에 연결합니다.
인수 | Description |
---|---|
path | (str) 이 모델의 콘텐츠에 대한 경로입니다. 다음 형식이 될 수 있습니다. - /local/directory - /local/directory/file.txt - s3://bucket/path |
registered_model_name | (str) - 모델을 연결할 등록된 모델의 이름입니다. 등록된 모델은 모델 레지스트리에 연결된 모델 버전의 모음으로, 일반적으로 팀의 특정 ML 작업을 나타냅니다. 이 등록된 모델이 속한 엔티티는 run에서 파생됩니다. |
name | (str, 선택 사항) - ‘path’의 파일이 기록될 모델 아티팩트의 이름입니다. 지정하지 않으면 기본적으로 현재 run ID가 접두사로 붙은 경로의 기본 이름으로 설정됩니다. |
aliases | (List[str], 선택 사항) - 등록된 모델 내의 이 연결된 아티팩트에만 적용될 에일리어스입니다. “latest” 에일리어스는 항상 연결된 아티팩트의 최신 버전에 적용됩니다. |
예:
발생 | Description |
---|---|
AssertionError | registered_model_name이 경로이거나 모델 아티팩트 ‘name’이 ‘model’ 하위 문자열을 포함하지 않는 유형인 경우 |
ValueError | 이름에 잘못된 특수 문자가 있는 경우 |
반환 | Description |
---|---|
None |
log
소스 보기
log
를 사용하여 스칼라, 이미지, 비디오,
히스토그램, 플롯 및 테이블과 같은 run 데이터를 기록합니다.
라이브 예제, 코드 조각, 모범 사례 등에 대한
로깅 가이드를 참조하세요.
가장 기본적인 사용법은 run.log({"train-loss": 0.5, "accuracy": 0.9})
입니다.
이렇게 하면 손실 및 정확도가 run의 기록에 저장되고
이러한 메트릭에 대한 summary 값이 업데이트됩니다.
wandb.ai의 워크스페이스 또는
W&B 앱의 자체 호스팅 인스턴스에서 기록된 데이터를 시각화하거나,
API를 사용하여 로컬에서 시각화하고 탐색할 데이터를 내보냅니다(예: Jupyter 노트북).
기록된 값은 스칼라일 필요가 없습니다. 모든 wandb 오브젝트의 로깅이 지원됩니다.
예를 들어 run.log({"example": wandb.Image("myimage.jpg")})
는 W&B UI에 멋지게 표시될 예제 이미지를 기록합니다.
지원되는 모든 유형에 대한
참조 문서를 참조하거나
3D 분자 구조 및 분할 마스크에서 PR 곡선 및 히스토그램에 이르기까지 예제에 대한
로깅 가이드를 확인하세요.
wandb.Table
을 사용하여 구조화된 데이터를 기록할 수 있습니다. 자세한 내용은
테이블 로깅 가이드를 참조하세요.
W&B UI는 이름에 슬래시(/
)가 있는 메트릭을
최종 슬래시 앞의 텍스트를 사용하여 명명된 섹션으로 구성합니다. 예를 들어,
다음은 “train” 및 “validate”라는 두 개의 섹션을 생성합니다.
run.log({"a/b/c": 1})
는
“a/b”라는 이름의 섹션을 생성합니다.
run.log
는 초당 몇 번 이상 호출하도록 설계되지 않았습니다.
최적의 성능을 위해 로깅을 N번 반복할 때마다 한 번으로 제한하거나
여러 반복에 걸쳐 데이터를 수집하고 단일 단계로 기록합니다.
W&B 단계
기본 사용법에서log
를 호출할 때마다 새 “단계”가 생성됩니다.
단계는 항상 증가해야 하며
이전 단계에 기록하는 것은 불가능합니다.
차트에서 모든 메트릭을 X축으로 사용할 수 있습니다.
많은 경우 W&B 단계를 트레이닝 단계가 아닌
타임스탬프로 취급하는 것이 좋습니다.
log
호출을 사용하여
step
및 commit
파라미터로 동일한 단계에 기록할 수 있습니다.
다음은 모두 동일합니다.
인수 | Description |
---|---|
data | str 키와 값이 직렬화 가능한 Python 오브젝트인 dict 입니다(예: int , float 및 string ). wandb.data_types , 직렬화 가능한 Python 오브젝트의 목록, 튜플 및 NumPy 배열, 이 구조의 다른 dict 를 포함합니다. |
step | 기록할 단계 번호입니다. None 인 경우 암시적 자동 증가 단계가 사용됩니다. 설명에서 참고 사항을 참조하세요. |
commit | True이면 단계를 완료하고 업로드합니다. False이면 단계에 대한 데이터를 축적합니다. 설명에서 참고 사항을 참조하세요. step 이 None 이면 기본값은 commit=True 입니다. 그렇지 않으면 기본값은 commit=False 입니다. |
sync | 이 인수는 더 이상 사용되지 않으며 아무 작업도 수행하지 않습니다. |
예:
자세한 내용은 로깅 가이드를 참조하세요.기본 사용법
증분 로깅
히스토그램
numpy에서 이미지
PIL에서 이미지
numpy에서 비디오
Matplotlib 플롯
PR 곡선
3D 오브젝트
발생 | Description |
---|---|
wandb.Error | wandb.init 전에 호출된 경우 |
ValueError | 잘못된 데이터가 전달된 경우 |
log_artifact
소스 보기
인수 | Description |
---|---|
artifact_or_path | (str 또는 Artifact) 이 아티팩트의 콘텐츠에 대한 경로입니다. 다음 형식이 될 수 있습니다. - /local/directory - /local/directory/file.txt - s3://bucket/path wandb.Artifact 를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다. |
name | (str, 선택 사항) 아티팩트 이름입니다. 유효한 이름은 다음 형식이 될 수 있습니다. - name:version - name:alias - digest 지정하지 않으면 기본적으로 현재 run ID가 접두사로 붙은 경로의 기본 이름으로 설정됩니다. |
type | (str) 기록할 아티팩트의 유형입니다. 예로는 dataset , model 이 있습니다. |
aliases | (list, 선택 사항) 이 아티팩트에 적용할 에일리어스입니다. 기본값은 ["latest"] 입니다. |
tags | (list, 선택 사항) 이 아티팩트에 적용할 태그입니다(있는 경우). |
반환 | Description |
---|---|
Artifact 오브젝트입니다. |
log_code
소스 보기
.py
로 끝나는 모든 파일을 기록합니다.
인수 | Description |
---|---|
root | os.getcwd() 에 대한 상대 경로 또는 코드를 재귀적으로 찾을 절대 경로입니다. |
name | (str, 선택 사항) 코드 아티팩트의 이름입니다. 기본적으로 아티팩트 이름을 source-$PROJECT_ID-$ENTRYPOINT_RELPATH 로 지정합니다. 여러 run이 동일한 아티팩트를 공유하도록 하려는 시나리오가 있을 수 있습니다. 이름을 지정하면 이를 달성할 수 있습니다. |
include_fn | 파일 경로와 (선택적으로) 루트 경로를 허용하고 포함해야 하는 경우 True를 반환하고 그렇지 않으면 False를 반환하는 호출 가능 항목입니다. 기본값은 lambda path, root: path.endswith(".py") 입니다. |
exclude_fn | 파일 경로와 (선택적으로) 루트 경로를 허용하고 제외해야 하는 경우 True 를 반환하고 그렇지 않으면 False 를 반환하는 호출 가능 항목입니다. 기본값은 <root>/.wandb/ 및 <root>/wandb/ 디렉토리 내의 모든 파일을 제외하는 함수입니다. |
예:
기본 사용법반환 | Description |
---|---|
코드가 기록된 경우 Artifact 오브젝트입니다. |
log_model
소스 보기
인수 | Description |
---|---|
path | (str) 이 모델의 콘텐츠에 대한 경로입니다. 다음 형식이 될 수 있습니다. - /local/directory - /local/directory/file.txt - s3://bucket/path |
name | (str, 선택 사항) 파일 콘텐츠가 추가될 모델 아티팩트에 할당할 이름입니다. 문자열에는 대시, 밑줄 및 점과 같은 영숫자 문자만 포함되어야 합니다. 지정하지 않으면 기본적으로 현재 run ID가 접두사로 붙은 경로의 기본 이름으로 설정됩니다. |
aliases | (list, 선택 사항) 생성된 모델 아티팩트에 적용할 에일리어스입니다. 기본값은 ["latest"] 입니다. |
예:
발생 | Description |
---|---|
ValueError | 이름에 잘못된 특수 문자가 있는 경우 |
반환 | Description |
---|---|
None |
mark_preempting
소스 보기
project_name
소스 보기
restore
소스 보기
인수 | Description |
---|---|
name | 파일 이름입니다. |
run_path | 파일을 가져올 run에 대한 선택적 경로입니다(예: username/project_name/run_id ). wandb.init가 호출되지 않은 경우 필수입니다. |
replace | 파일이 로컬에 이미 있더라도 파일을 다운로드할지 여부입니다. |
root | 파일을 다운로드할 디렉토리입니다. 기본값은 현재 디렉토리 또는 wandb.init가 호출된 경우 run 디렉토리입니다. |
반환 | Description |
---|---|
파일을 찾을 수 없으면 None이고, 그렇지 않으면 읽기용으로 열린 파일 오브젝트입니다. |
발생 | Description |
---|---|
wandb.CommError | wandb 백엔드에 연결할 수 없는 경우 |
ValueError | 파일을 찾을 수 없거나 run_path를 찾을 수 없는 경우 |
save
소스 보기
policy
에 관계없이 save
가
호출될 때 확장됩니다. 특히 새 파일은 자동으로 선택되지 않습니다.
base_path
는 업로드된 파일의 디렉토리 구조를 제어하기 위해 제공될 수 있습니다.
glob_str
의 접두사여야 하며
그 아래의 디렉토리 구조가 유지됩니다. 다음 예를 통해 가장 잘 이해할 수 있습니다.
base_path
가 없는 경우 위 예제와 같이 한 디렉토리 수준이 유지됩니다.
인수 | Description |
---|---|
glob_str | 상대 경로 또는 절대 경로 또는 Unix glob입니다. |
base_path | 디렉토리 구조를 추론하는 데 사용할 경로입니다. 예를 참조하세요. |
policy | live , now 또는 end 중 하나입니다. * live: 파일이 변경될 때 파일을 업로드하고 이전 버전을 덮어씁니다. * now: 파일을 지금 한 번 업로드합니다. * end: run이 종료될 때 파일을 업로드합니다. |
반환 | Description |
---|---|
일치하는 파일에 대해 생성된 심볼릭 링크의 경로입니다. 레거시 코드에서는 이전 이유로 인해 부울을 반환할 수 있습니다. |
status
소스 보기
to_html
소스 보기
unwatch
소스 보기
인수 | Description |
---|---|
models (torch.nn.Module | Sequence[torch.nn.Module]): watch가 호출된 pytorch 모델의 선택적 목록 |
upsert_artifact
소스 보기
인수 | Description |
---|---|
artifact_or_path | (str 또는 Artifact) 이 아티팩트의 콘텐츠에 대한 경로입니다. 다음 형식이 될 수 있습니다. - /local/directory - /local/directory/file.txt - s3://bucket/path wandb.Artifact 를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다. |
name | (str, 선택 사항) 아티팩트 이름입니다. 엔티티/프로젝트로 시작할 수 있습니다. 유효한 이름은 다음 형식이 될 수 있습니다. - name:version - name:alias - digest 지정하지 않으면 기본적으로 현재 run ID가 접두사로 붙은 경로의 기본 이름으로 설정됩니다. |
type | (str) 기록할 아티팩트의 유형입니다. 예로는 dataset , model 이 있습니다. |
aliases | (list, 선택 사항) 이 아티팩트에 적용할 에일리어스입니다. 기본값은 ["latest"] 입니다. |
distributed_id | (string, 선택 사항) 모든 분산 작업이 공유하는 고유한 문자열입니다. None인 경우 run의 그룹 이름으로 기본 설정됩니다. |
반환 | Description |
---|---|
Artifact 오브젝트입니다. |
use_artifact
소스 보기
download
또는 file
을 호출하여 콘텐츠를 로컬로 가져옵니다.
인수 | Description |
---|---|
artifact_or_name | (str 또는 Artifact) 아티팩트 이름입니다. 프로젝트/ 또는 엔티티/프로젝트/로 시작할 수 있습니다. 이름에 엔티티가 지정되지 않은 경우 Run 또는 API 설정의 엔티티가 사용됩니다. 유효한 이름은 다음 형식이 될 수 있습니다. - name:version - name:alias wandb.Artifact 를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다. |
type | (str, 선택 사항) 사용할 아티팩트의 유형입니다. |
aliases | (list, 선택 사항) 이 아티팩트에 적용할 에일리어스입니다. |
use_as | (string, 선택 사항) 아티팩트가 사용된 목적을 나타내는 선택적 문자열입니다. UI에 표시됩니다. |
반환 | Description |
---|---|
Artifact 오브젝트입니다. |
use_model
소스 보기
인수 | Description |
---|---|
name | (str) 모델 아티팩트 이름입니다. ‘name’은 기존에 기록된 모델 아티팩트의 이름과 일치해야 합니다. 엔티티/프로젝트/로 시작할 수 있습니다. 유효한 이름은 다음 형식이 될 수 있습니다. - model_artifact_name:version - model_artifact_name:alias |
예:
발생 | Description |
---|---|
AssertionError | 모델 아티팩트 ‘name’이 ‘model’ 하위 문자열을 포함하지 않는 유형인 경우 |
반환 | Description |
---|---|
path | (str) 다운로드된 모델 아티팩트 파일의 경로입니다. |
watch
소스 보기
인수 | Description |
---|---|
models (Union[torch.nn.Module, Sequence[torch.nn.Module]]): 모니터링할 단일 모델 또는 모델 시퀀스입니다. criterion (Optional[torch.F]): 최적화할 손실 함수입니다(선택 사항). log (Optional[Literal[“gradients”, “parameters”, “all”]]): “gradients”, “parameters” 또는 “all”을 기록할지 여부를 지정합니다. 로깅을 비활성화하려면 None으로 설정합니다. (기본값=“gradients”) log_freq (int): 그레이디언트 및 파라미터를 기록할 빈도(배치 단위)입니다. (기본값=1000) idx (Optional[int]): wandb.watch 로 여러 모델을 추적할 때 사용되는 인덱스입니다. (기본값=None) log_graph (bool): 모델의 계산 그래프를 기록할지 여부입니다. (기본값=False) |
발생 | Description |
---|---|
ValueError | wandb.init 가 호출되지 않았거나 모델이 torch.nn.Module 의 인스턴스가 아닌 경우 |