Python Library
wandb를 사용하여 기계 학습 작업을 추적하세요.
모델을 학습 및 파인튜닝하고, 실험에서 프로덕션까지 모델을 관리합니다.
가이드 및 예제는 https://docs.wandb.ai 를 참조하세요.
스크립트 및 대화형 노트북은 https://github.com/wandb/examples 를 참조하세요.
참조 문서는 https://docs.wandb.com/ref/python 를 참조하세요.
클래스
class Artifact
: 데이터셋 및 모델 버전 관리를 위한 유연하고 가벼운 빌딩 블록입니다.
class Run
: wandb에서 기록한 계산 단위입니다. 일반적으로 이는 ML 실험입니다.
함수
agent(...)
: 하나 이상의 스윕 에이전트를 시작합니다.
controller(...)
: 공개 스윕 컨트롤러 생성자입니다.
finish(...)
: run을 종료하고 나머지 데이터를 업로드합니다.
init(...)
: 추적 및 W&B 로깅을 위한 새 run을 시작합니다.
log(...)
: run 데이터를 업로드합니다.
login(...)
: W&B 로그인 자격 증명을 설정합니다.
save(...)
: 하나 이상의 파일을 W&B에 동기화합니다.
sweep(...)
: 하이퍼파라미터 스윕을 초기화합니다.
watch(...)
: 주어진 PyTorch 모델에 훅을 걸어 그레이디언트와 모델의 계산 그래프를 모니터링합니다.
기타 멤버 |
|
__version__ |
'0.19.8' |
config |
|
summary |
|
1 - agent
하나 이상의 스윕 에이전트를 시작합니다.
agent(
sweep_id: str,
function: Optional[Callable] = None,
entity: Optional[str] = None,
project: Optional[str] = None,
count: Optional[int] = None
) -> None
스윕 에이전트는 sweep_id
를 사용하여 어떤 스윕의 일부인지, 어떤 함수를 실행해야 하는지, 그리고 (선택적으로) 실행할 에이전트 수를 파악합니다.
Args |
|
sweep_id |
스윕의 고유 식별자입니다. 스윕 ID는 W&B CLI 또는 Python SDK에 의해 생성됩니다. |
function |
스윕 구성에 지정된 “program” 대신 호출할 함수입니다. |
entity |
스윕에 의해 생성된 W&B run을 보낼 사용자 이름 또는 팀 이름입니다. 지정한 엔터티가 이미 존재하는지 확인하십시오. 엔터티를 지정하지 않으면 run은 기본 엔터티 (일반적으로 사용자 이름)로 전송됩니다. |
project |
스윕에서 생성된 W&B run이 전송되는 프로젝트의 이름입니다. 프로젝트가 지정되지 않은 경우 run은 “Uncategorized"라는 프로젝트로 전송됩니다. |
count |
시도할 스윕 구성 트라이얼 수입니다. |
2 - Artifact
데이터셋 및 모델 버전 관리를 위한 유연하고 가벼운 빌딩 블록입니다.
Artifact(
name: str,
type: str,
description: (str | None) = None,
metadata: (dict[str, Any] | None) = None,
incremental: bool = (False),
use_as: (str | None) = None
) -> None
빈 W&B Artifact를 생성합니다. add
로 시작하는 메서드로 Artifact 내용을 채웁니다. Artifact에 원하는 파일이 모두 있으면 wandb.log_artifact()
를 호출하여 기록할 수 있습니다.
Args |
|
name |
Artifact에 대한 사람이 읽을 수 있는 이름입니다. W&B App UI 또는 프로그래밍 방식으로 특정 Artifact를 식별하는 데 이름을 사용합니다. use_artifact 퍼블릭 API를 사용하여 Artifact를 대화형으로 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈 및 점을 포함할 수 있습니다. 이름은 프로젝트에서 고유해야 합니다. |
type |
Artifact의 유형입니다. Artifact의 유형을 사용하여 Artifact를 구성하고 구별합니다. 문자, 숫자, 밑줄, 하이픈 및 점을 포함하는 문자열을 사용할 수 있습니다. 일반적인 유형에는 dataset 또는 model 이 있습니다. Artifact를 W&B 모델 레지스트리에 연결하려면 유형 문자열 내에 model 을 포함합니다. |
description |
Artifact에 대한 설명입니다. 모델 또는 데이터셋 Artifact의 경우 표준화된 팀 모델 또는 데이터셋 카드에 대한 문서를 추가합니다. Artifact.description 속성을 사용하여 프로그래밍 방식으로 또는 W&B App UI를 사용하여 프로그래밍 방식으로 Artifact의 설명을 봅니다. W&B는 W&B App에서 설명을 마크다운으로 렌더링합니다. |
metadata |
Artifact에 대한 추가 정보입니다. 메타데이터를 키-값 쌍의 사전으로 지정합니다. 총 100개 이하의 키를 지정할 수 있습니다. |
incremental |
기존 Artifact를 수정하려면 대신 Artifact.new_draft() 메서드를 사용합니다. |
use_as |
W&B Launch 특정 파라미터입니다. 일반적인 용도로는 권장하지 않습니다. |
Attributes |
|
aliases |
Artifact 버전에 할당된 하나 이상의 의미적으로 친숙한 참조 또는 식별 “별칭” 목록입니다. 에일리어스는 프로그래밍 방식으로 참조할 수 있는 변경 가능한 참조입니다. W&B App UI 또는 프로그래밍 방식으로 Artifact의 에일리어스를 변경합니다. 자세한 내용은 새 Artifact 버전 생성을 참조하십시오. |
collection |
이 Artifact가 검색된 컬렉션입니다. 컬렉션은 정렬된 Artifact 버전 그룹입니다. 이 Artifact가 포트폴리오 / 링크된 컬렉션에서 검색된 경우 Artifact 버전이 시작된 컬렉션이 아닌 해당 컬렉션이 반환됩니다. Artifact가 시작된 컬렉션을 소스 시퀀스라고 합니다. |
commit_hash |
이 Artifact가 커밋될 때 반환된 해시입니다. |
created_at |
Artifact가 생성된 타임스탬프입니다. |
description |
Artifact에 대한 설명입니다. |
digest |
Artifact의 논리적 다이제스트입니다. 다이제스트는 Artifact 내용의 체크섬입니다. Artifact가 현재 latest 버전과 동일한 다이제스트를 갖는 경우 log_artifact 는 no-op입니다. |
entity |
보조 (포트폴리오) Artifact 컬렉션의 엔터티 이름입니다. |
file_count |
파일 수 (참조 포함) 입니다. |
id |
Artifact의 ID입니다. |
manifest |
Artifact의 manifest입니다. manifest는 모든 내용을 나열하며 Artifact가 기록된 후에는 변경할 수 없습니다. |
metadata |
사용자 정의 Artifact 메타데이터입니다. Artifact와 관련된 구조화된 데이터입니다. |
name |
보조 (포트폴리오) 컬렉션에서 Artifact 이름과 버전입니다. {collection}:{alias} 형식의 문자열입니다. Artifact가 저장되기 전에는 버전을 아직 알 수 없으므로 이름만 포함합니다. |
project |
보조 (포트폴리오) Artifact 컬렉션의 프로젝트 이름입니다. |
qualified_name |
보조 (포트폴리오) 컬렉션의 엔터티/프로젝트/이름입니다. |
size |
바이트 단위의 Artifact 총 크기입니다. 이 Artifact에서 추적하는 모든 참조를 포함합니다. |
source_collection |
Artifact의 기본 (시퀀스) 컬렉션입니다. |
source_entity |
기본 (시퀀스) Artifact 컬렉션의 엔터티 이름입니다. |
source_name |
기본 (시퀀스) 컬렉션에서 Artifact 이름과 버전입니다. {collection}:{alias} 형식의 문자열입니다. Artifact가 저장되기 전에는 버전을 아직 알 수 없으므로 이름만 포함합니다. |
source_project |
기본 (시퀀스) Artifact 컬렉션의 프로젝트 이름입니다. |
source_qualified_name |
기본 (시퀀스) 컬렉션의 엔터티/프로젝트/이름입니다. |
source_version |
기본 (시퀀스) 컬렉션에서 Artifact의 버전입니다. v{number} 형식의 문자열입니다. |
state |
Artifact의 상태입니다. “PENDING”, “COMMITTED” 또는 “DELETED” 중 하나입니다. |
tags |
이 Artifact 버전에 할당된 하나 이상의 태그 목록입니다. |
ttl |
Artifact의 TTL (Time-To-Live) 정책입니다. Artifact는 TTL 정책의 기간이 경과한 직후에 삭제됩니다. None 으로 설정하면 Artifact는 TTL 정책을 비활성화하고 팀 기본 TTL이 있더라도 삭제가 예약되지 않습니다. 팀 관리자가 기본 TTL을 정의하고 Artifact에 사용자 지정 정책이 설정되어 있지 않으면 Artifact는 팀 기본값에서 TTL 정책을 상속합니다. |
type |
Artifact의 유형입니다. 일반적인 유형에는 dataset 또는 model 이 있습니다. |
updated_at |
Artifact가 마지막으로 업데이트된 시간입니다. |
url |
Artifact의 URL을 생성합니다. |
version |
보조 (포트폴리오) 컬렉션에서 Artifact의 버전입니다. |
Methods
add
소스 보기
add(
obj: WBValue,
name: StrPath,
overwrite: bool = (False)
) -> ArtifactManifestEntry
wandb.WBValue obj
를 Artifact에 추가합니다.
Args |
|
obj |
추가할 오브젝트입니다. 현재 Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D 중 하나를 지원합니다. |
name |
오브젝트를 추가할 Artifact 내의 경로입니다. |
overwrite |
True인 경우 동일한 파일 경로를 가진 기존 오브젝트를 덮어씁니다 (해당하는 경우). |
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
add_dir
소스 보기
add_dir(
local_path: str,
name: (str | None) = None,
skip_cache: (bool | None) = (False),
policy: (Literal['mutable', 'immutable'] | None) = "mutable"
) -> None
로컬 디렉토리를 Artifact에 추가합니다.
Args |
|
local_path |
로컬 디렉토리의 경로입니다. |
name |
Artifact 내의 하위 디렉토리 이름입니다. 지정한 이름은 Artifact의 type 에 따라 중첩된 W&B App UI에 나타납니다. 기본값은 Artifact의 루트입니다. |
skip_cache |
True 로 설정하면 W&B는 업로드하는 동안 파일을 캐시로 복사/이동하지 않습니다. |
policy |
“mutable” |
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
ValueError |
정책은 “mutable” 또는 “immutable"이어야 합니다. |
add_file
소스 보기
add_file(
local_path: str,
name: (str | None) = None,
is_tmp: (bool | None) = (False),
skip_cache: (bool | None) = (False),
policy: (Literal['mutable', 'immutable'] | None) = "mutable",
overwrite: bool = (False)
) -> ArtifactManifestEntry
로컬 파일을 Artifact에 추가합니다.
Args |
|
local_path |
추가할 파일의 경로입니다. |
name |
추가할 파일에 사용할 Artifact 내의 경로입니다. 기본값은 파일의 기본 이름입니다. |
is_tmp |
true이면 충돌을 피하기 위해 파일 이름이 결정적으로 변경됩니다. |
skip_cache |
True 인 경우 W&B는 업로드 후 파일을 캐시로 복사하지 않습니다. |
policy |
기본적으로 “mutable"로 설정됩니다. “mutable"로 설정하면 업로드 중에 손상을 방지하기 위해 파일의 임시 복사본을 만듭니다. “immutable"로 설정하면 보호를 비활성화하고 사용자가 파일을 삭제하거나 변경하지 않도록 합니다. |
overwrite |
True 인 경우 파일이 이미 있으면 덮어씁니다. |
Returns |
|
추가된 manifest 항목입니다. |
|
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
ValueError |
정책은 “mutable” 또는 “immutable"이어야 합니다. |
add_reference
소스 보기
add_reference(
uri: (ArtifactManifestEntry | str),
name: (StrPath | None) = None,
checksum: bool = (True),
max_objects: (int | None) = None
) -> Sequence[ArtifactManifestEntry]
URI로 표시된 참조를 Artifact에 추가합니다.
Artifact에 추가하는 파일 또는 디렉토리와 달리 참조는 W&B에 업로드되지 않습니다. 자세한 내용은 외부 파일 추적을 참조하십시오.
기본적으로 다음 스키마가 지원됩니다.
- http(s): 파일 크기 및 다이제스트는 서버에서 반환된
Content-Length
및 ETag
응답 헤더에 의해 추론됩니다.
- s3: 체크섬 및 크기는 오브젝트 메타데이터에서 가져옵니다. 버킷 버전 관리가 활성화된 경우 버전 ID도 추적됩니다.
- gs: 체크섬 및 크기는 오브젝트 메타데이터에서 가져옵니다. 버킷 버전 관리가 활성화된 경우 버전 ID도 추적됩니다.
- https, 도메인 일치
*.blob.core.windows.net
(Azure): 체크섬 및 크기는 Blob 메타데이터에서 가져옵니다. 스토리지 계정 버전 관리가 활성화된 경우 버전 ID도 추적됩니다.
- file: 체크섬 및 크기는 파일 시스템에서 가져옵니다. 이 스키마는 추적하고 싶지만 반드시 업로드할 필요는 없는 파일이 포함된 NFS 공유 또는 기타 외부 탑재 볼륨이 있는 경우에 유용합니다.
다른 스키마의 경우 다이제스트는 URI의 해시일 뿐이고 크기는 비어 있습니다.
Args |
|
uri |
추가할 참조의 URI 경로입니다. URI 경로는 다른 Artifact의 항목에 대한 참조를 저장하기 위해 Artifact.get_entry 에서 반환된 오브젝트일 수 있습니다. |
name |
이 참조 내용을 배치할 Artifact 내의 경로입니다. |
checksum |
참조 URI에 있는 리소스의 체크섬을 계산할지 여부입니다. 자동 무결성 유효성 검사를 활성화하므로 체크섬 계산을 강력히 권장합니다. 체크섬 계산을 비활성화하면 Artifact 생성이 빨라지지만 참조 디렉토리가 반복되지 않으므로 디렉토리의 오브젝트가 Artifact에 저장되지 않습니다. 참조 오브젝트를 추가할 때 checksum=False 를 설정하는 것이 좋습니다. 이 경우 참조 URI가 변경된 경우에만 새 버전이 생성됩니다. |
max_objects |
디렉토리 또는 버킷 스토어 접두사를 가리키는 참조를 추가할 때 고려할 최대 오브젝트 수입니다. 기본적으로 Amazon S3, GCS, Azure 및 로컬 파일에 허용되는 최대 오브젝트 수는 10,000,000개입니다. 다른 URI 스키마에는 최대값이 없습니다. |
Returns |
|
추가된 manifest 항목입니다. |
|
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
checkout
소스 보기
checkout(
root: (str | None) = None
) -> str
지정된 루트 디렉토리를 Artifact 내용으로 바꿉니다.
경고: 이렇게 하면 Artifact에 포함되지 않은 root
의 모든 파일이 삭제됩니다.
Args |
|
root |
이 Artifact의 파일로 대체할 디렉토리입니다. |
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
delete
소스 보기
delete(
delete_aliases: bool = (False)
) -> None
Artifact 및 해당 파일을 삭제합니다.
링크된 Artifact (즉, 포트폴리오 컬렉션의 멤버) 에서 호출된 경우 링크만 삭제되고 소스 Artifact는 영향을 받지 않습니다.
Args |
|
delete_aliases |
True 로 설정하면 Artifact와 연결된 모든 에일리어스를 삭제합니다. 그렇지 않으면 Artifact에 기존 에일리어스가 있는 경우 예외가 발생합니다. Artifact가 링크된 경우 (즉, 포트폴리오 컬렉션의 멤버) 이 파라미터는 무시됩니다. |
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
download
소스 보기
download(
root: (StrPath | None) = None,
allow_missing_references: bool = (False),
skip_cache: (bool | None) = None,
path_prefix: (StrPath | None) = None
) -> FilePathStr
Artifact 내용을 지정된 루트 디렉토리에 다운로드합니다.
root
내에 있는 기존 파일은 수정되지 않습니다. root
의 내용을 Artifact와 정확히 일치시키려면 download
를 호출하기 전에 명시적으로 root
를 삭제하십시오.
Args |
|
root |
W&B가 Artifact 파일을 저장하는 디렉토리입니다. |
allow_missing_references |
True 로 설정하면 참조된 파일을 다운로드하는 동안 잘못된 참조 경로는 무시됩니다. |
skip_cache |
True 로 설정하면 다운로드할 때 Artifact 캐시가 건너뛰고 W&B는 각 파일을 기본 루트 또는 지정된 다운로드 디렉토리에 다운로드합니다. |
path_prefix |
지정된 경우 지정된 접두사로 시작하는 경로가 있는 파일만 다운로드됩니다. 유닉스 형식 (forward slash) 을 사용합니다. |
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
RuntimeError |
Artifact를 오프라인 모드에서 다운로드하려고 시도한 경우. |
file
소스 보기
file(
root: (str | None) = None
) -> StrPath
단일 파일 Artifact를 root
로 지정한 디렉토리에 다운로드합니다.
Args |
|
root |
파일을 저장할 루트 디렉토리입니다. 기본값은 ‘./artifacts/self.name/’ 입니다. |
Returns |
|
다운로드한 파일의 전체 경로입니다. |
|
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
ValueError |
Artifact에 둘 이상의 파일이 포함된 경우. |
files
소스 보기
files(
names: (list[str] | None) = None,
per_page: int = 50
) -> ArtifactFiles
이 Artifact에 저장된 모든 파일을 반복합니다.
Args |
|
names |
나열할 Artifact의 루트를 기준으로 하는 파일 이름 경로입니다. |
per_page |
요청당 반환할 파일 수입니다. |
Returns |
|
File 오브젝트를 포함하는 반복기입니다. |
|
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
finalize
소스 보기
Artifact 버전을 완료합니다.
Artifact가 특정 Artifact 버전으로 기록되므로 Artifact 버전이 완료되면 Artifact 버전을 수정할 수 없습니다. Artifact에 더 많은 데이터를 기록하려면 새 Artifact 버전을 만듭니다. log_artifact
로 Artifact를 기록하면 Artifact가 자동으로 완료됩니다.
get
소스 보기
get(
name: str
) -> (WBValue | None)
Artifact 상대 name
에 있는 WBValue 오브젝트를 가져옵니다.
Args |
|
name |
검색할 Artifact 상대 이름입니다. |
Returns |
|
wandb.log() 로 기록하고 W&B UI에서 시각화할 수 있는 W&B 오브젝트. |
|
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않았거나 run이 오프라인인 경우 |
get_added_local_path_name
소스 보기
get_added_local_path_name(
local_path: str
) -> (str | None)
로컬 파일 시스템 경로로 추가된 파일의 Artifact 상대 이름을 가져옵니다.
Args |
|
local_path |
Artifact 상대 이름으로 해석할 로컬 경로입니다. |
get_entry
소스 보기
get_entry(
name: StrPath
) -> ArtifactManifestEntry
지정된 이름으로 항목을 가져옵니다.
Args |
|
name |
가져올 Artifact 상대 이름입니다. |
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않았거나 run이 오프라인인 경우. |
KeyError |
Artifact에 지정된 이름의 항목이 포함되어 있지 않은 경우. |
get_path
소스 보기
get_path(
name: StrPath
) -> ArtifactManifestEntry
더 이상 사용되지 않습니다. get_entry(name)
을 사용하십시오.
is_draft
소스 보기
Artifact가 저장되지 않았는지 확인합니다.
반환 값: Boolean. Artifact가 저장된 경우 False
입니다. Artifact가 저장되지 않은 경우 True
입니다.
json_encode
소스 보기
json_encode() -> dict[str, Any]
Artifact를 JSON 형식으로 인코딩하여 반환합니다.
Returns |
|
Artifact의 속성을 나타내는 string 키가 있는 dict 입니다. |
|
link
소스 보기
link(
target_path: str,
aliases: (list[str] | None) = None
) -> None
이 Artifact를 포트폴리오 (승격된 Artifact 컬렉션) 에 연결합니다.
Args |
|
target_path |
프로젝트 내의 포트폴리오 경로입니다. 대상 경로는 {portfolio} , {project}/{portfolio} 또는 {entity}/{project}/{portfolio} 중 하나의 스키마를 준수해야 합니다. Artifact를 일반적인 프로젝트 내의 포트폴리오가 아닌 모델 레지스트리에 연결하려면 target_path 를 {"model-registry"}/{Registered Model Name} 또는 {entity}/{"model-registry"}/{Registered Model Name} 스키마로 설정합니다. |
aliases |
지정된 포트폴리오 내에서 Artifact를 고유하게 식별하는 문자열 목록입니다. |
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
logged_by
소스 보기
logged_by() -> (Run | None)
Artifact를 원래 기록한 W&B run을 가져옵니다.
Returns |
|
Artifact를 원래 기록한 W&B run의 이름입니다. |
|
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
new_draft
소스 보기
커밋된 이 Artifact와 동일한 내용으로 새 초안 Artifact를 만듭니다.
기존 Artifact를 수정하면 “증분 Artifact"라고 하는 새 Artifact 버전이 생성됩니다. 반환된 Artifact는 새 버전으로 확장, 수정 및 기록할 수 있습니다.
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
new_file
소스 보기
@contextlib.contextmanager
new_file(
name: str,
mode: str = "x",
encoding: (str | None) = None
) -> Iterator[IO]
새 임시 파일을 열고 Artifact에 추가합니다.
Args |
|
name |
Artifact에 추가할 새 파일의 이름입니다. |
mode |
새 파일을 여는 데 사용할 파일 액세스 모드입니다. |
encoding |
새 파일을 여는 데 사용되는 인코딩입니다. |
Returns |
|
쓸 수 있는 새 파일 오브젝트입니다. 닫으면 파일이 자동으로 Artifact에 추가됩니다. |
|
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
remove
소스 보기
remove(
item: (StrPath | ArtifactManifestEntry)
) -> None
Artifact에서 항목을 제거합니다.
Args |
|
item |
제거할 항목입니다. 특정 manifest 항목 또는 Artifact 상대 경로의 이름일 수 있습니다. 항목이 디렉토리를 일치시키면 해당 디렉토리의 모든 항목이 제거됩니다. |
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
FileNotFoundError |
Artifact에서 항목을 찾을 수 없는 경우. |
save
소스 보기
save(
project: (str | None) = None,
settings: (wandb.Settings | None) = None
) -> None
Artifact에 대한 모든 변경 사항을 유지합니다.
현재 run에 있는 경우 해당 run은 이 Artifact를 기록합니다. 현재 run에 없는 경우 이 Artifact를 추적하기 위해 “auto” 유형의 run이 생성됩니다.
Args |
|
project |
run이 이미 컨텍스트에 없는 경우 Artifact에 사용할 프로젝트입니다. |
settings |
자동 run을 초기화할 때 사용할 설정 오브젝트입니다. 가장 일반적으로 테스트 하니스에서 사용됩니다. |
unlink
소스 보기
이 Artifact가 현재 포트폴리오 (승격된 Artifact 컬렉션) 의 멤버인 경우 연결을 해제합니다.
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
ValueError |
Artifact가 링크되지 않은 경우, 즉 포트폴리오 컬렉션의 멤버가 아닌 경우. |
used_by
소스 보기
이 Artifact를 사용한 run 목록을 가져옵니다.
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
verify
소스 보기
verify(
root: (str | None) = None
) -> None
Artifact 내용이 manifest와 일치하는지 확인합니다.
디렉토리의 모든 파일은 체크섬이 계산되고 체크섬은 Artifact의 manifest와 상호 참조됩니다. 참조는 확인되지 않습니다.
Args |
|
root |
확인할 디렉토리입니다. None Artifact인 경우 ‘./artifacts/self.name/’ 에 다운로드됩니다. |
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않은 경우. |
ValueError |
확인에 실패한 경우. |
wait
소스 보기
wait(
timeout: (int | None) = None
) -> Artifact
필요한 경우 이 Artifact가 기록을 완료할 때까지 기다립니다.
Args |
|
timeout |
대기 시간 (초) 입니다. |
__getitem__
소스 보기
__getitem__(
name: str
) -> (WBValue | None)
Artifact 상대 name
에 있는 WBValue 오브젝트를 가져옵니다.
Args |
|
name |
가져올 Artifact 상대 이름입니다. |
Returns |
|
wandb.log() 로 기록하고 W&B UI에서 시각화할 수 있는 W&B 오브젝트. |
|
Raises |
|
ArtifactNotLoggedError |
Artifact가 기록되지 않았거나 run이 오프라인인 경우. |
__setitem__
소스 보기
__setitem__(
name: str,
item: WBValue
) -> ArtifactManifestEntry
경로 name
에서 Artifact에 item
을 추가합니다.
Args |
|
name |
오브젝트를 추가할 Artifact 내의 경로입니다. |
item |
추가할 오브젝트입니다. |
Raises |
|
ArtifactFinalizedError |
Artifact 버전이 완료되었으므로 현재 Artifact 버전을 변경할 수 없습니다. 대신 새 Artifact 버전을 기록합니다. |
3 - controller
퍼블릭 스윕 컨트롤러 생성자.
controller(
sweep_id_or_config: Optional[Union[str, Dict]] = None,
entity: Optional[str] = None,
project: Optional[str] = None
) -> "_WandbController"
사용법:
import wandb
tuner = wandb.controller(...)
print(tuner.sweep_config)
print(tuner.sweep_id)
tuner.configure_search(...)
tuner.configure_stopping(...)
4 - Data Types
이 모듈은 풍부하고 인터랙티브한 시각화 자료를 W&B에 로깅하기 위한 데이터 유형을 정의합니다.
데이터 유형에는 이미지, 오디오 및 비디오와 같은 일반적인 미디어 유형, 테이블 및 HTML과 같은 정보에 대한 유연한 컨테이너 등이 있습니다.
미디어 로깅에 대한 자세한 내용은 가이드를 참조하세요.
인터랙티브한 데이터셋 및 모델 분석을 위한 구조화된 데이터 로깅에 대한 자세한 내용은 W&B Tables 가이드를 참조하세요.
이러한 모든 특수 데이터 유형은 WBValue의 서브클래스입니다. 모든 데이터 유형은 JSON으로 직렬화됩니다. 이는 wandb가 오브젝트를 로컬에 저장하고 W&B 서버에 업로드하는 데 사용하는 형식이기 때문입니다.
클래스
class Audio
: 오디오 클립을 위한 Wandb 클래스입니다.
class BoundingBoxes2D
: W&B에 로깅하기 위해 2D 바운딩 박스 오버레이가 있는 이미지 포맷입니다.
class Graph
: 그래프를 위한 Wandb 클래스입니다.
class Histogram
: 히스토그램을 위한 wandb 클래스입니다.
class Html
: 임의의 html을 위한 Wandb 클래스입니다.
class Image
: W&B에 로깅하기 위한 이미지 포맷입니다.
class ImageMask
: W&B에 로깅하기 위한 이미지 마스크 또는 오버레이 포맷입니다.
class Molecule
: 3D 분자 데이터를 위한 Wandb 클래스입니다.
class Object3D
: 3D 포인트 클라우드를 위한 Wandb 클래스입니다.
class Plotly
: Plotly 플롯을 위한 Wandb 클래스입니다.
class Table
: 테이블 형식의 데이터를 표시하고 분석하는 데 사용되는 Table 클래스입니다.
class Video
: W&B에 로깅하기 위한 비디오 포맷입니다.
class WBTraceTree
: 추적 트리 데이터를 위한 미디어 오브젝트입니다.
4.1 - Audio
오디오 클립을 위한 Wandb 클래스입니다.
Audio(
data_or_path, sample_rate=None, caption=None
)
ARG |
|
data_or_path |
(string 또는 numpy array) 오디오 파일의 경로 또는 오디오 데이터의 numpy array입니다. |
sample_rate |
(int) 샘플 속도. 오디오 데이터의 raw numpy array를 전달할 때 필요합니다. |
caption |
(string) 오디오와 함께 표시할 캡션입니다. |
메소드 (method)
durations
View source
@classmethod
durations(
audio_list
)
resolve_ref
View source
sample_rates
View source
@classmethod
sample_rates(
audio_list
)
4.2 - BoundingBoxes2D
W&B에 로깅하기 위해 2D 바운딩 박스 오버레이로 이미지 형식을 지정합니다.
BoundingBoxes2D(
val: dict,
key: str
) -> None
ARG |
|
val |
(사전) 다음과 같은 형태의 사전: box_data: (사전 목록) 각 바운딩 박스에 대한 사전 하나, 다음을 포함합니다: position: (사전) 바운딩 박스의 위치 및 크기 (두 가지 형식 중 하나) 상자들은 모두 동일한 형식을 사용할 필요는 없습니다. {“minX”, “minY”, “maxX”, “maxY”}: (사전) 상자의 상한 및 하한을 정의하는 좌표 집합 (좌측 하단 및 우측 상단 모서리) {“middle”, “width”, “height”}: (사전) 상자의 중심과 크기를 정의하는 좌표 집합. 여기서 “middle"은 중심점을 나타내는 목록 [x, y]이고 “width” 및 “height"는 숫자입니다. domain: (문자열) 바운딩 박스 좌표 도메인에 대한 두 가지 옵션 중 하나 null: 기본적으로 또는 인수가 전달되지 않은 경우 좌표 도메인은 원래 이미지를 기준으로 하며, 이 상자를 원래 이미지의 분수 또는 백분율로 표현합니다. 즉, “position” 인수로 전달되는 모든 좌표 및 크기는 0과 1 사이의 부동 소수점 숫자입니다. “pixel”: (문자열 리터럴) 좌표 도메인이 픽셀 공간으로 설정됩니다. 즉, “position"으로 전달되는 모든 좌표 및 크기는 이미지 크기의 범위 내에 있는 정수입니다. class_id: (정수) 이 상자에 대한 클래스 레이블 ID scores: (문자열-숫자 사전, 선택 사항) 이름이 지정된 필드를 숫자 값(float 또는 int)에 매핑합니다. 해당 필드의 값 범위에 따라 UI에서 상자를 필터링하는 데 사용할 수 있습니다. box_caption: (문자열, 선택 사항) UI에서 이 상자 위에 레이블 텍스트로 표시될 문자열입니다. 종종 클래스 레이블, 클래스 이름 및/또는 점수로 구성됩니다. class_labels: (사전, 선택 사항) 정수 클래스 레이블을 사람이 읽을 수 있는 클래스 이름에 매핑하는 맵입니다. |
key |
(문자열) 이 바운딩 박스 세트에 대한 사람이 읽을 수 있는 이름 또는 ID (예: 예측, ground_truth) |
예시:
단일 이미지에 대한 바운딩 박스 로깅
import numpy as np
import wandb
run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))
class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}
img = wandb.Image(
image,
boxes={
"predictions": {
"box_data": [
{
# 기본 상대/분수 도메인으로 표현된 상자 하나
"position": {
"minX": 0.1,
"maxX": 0.2,
"minY": 0.3,
"maxY": 0.4,
},
"class_id": 1,
"box_caption": class_labels[1],
"scores": {"acc": 0.2, "loss": 1.2},
},
{
# 픽셀 도메인으로 표현된 다른 상자
"position": {
"middle": [150, 20],
"width": 68,
"height": 112,
},
"domain": "pixel",
"class_id": 3,
"box_caption": "a building",
"scores": {"acc": 0.5, "loss": 0.7},
},
# 필요한 만큼 상자를 로깅합니다.
],
"class_labels": class_labels,
}
},
)
run.log({"driving_scene": img})
테이블에 바운딩 박스 오버레이 로깅
import numpy as np
import wandb
run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))
class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}
class_set = wandb.Classes(
[
{"name": "person", "id": 0},
{"name": "car", "id": 1},
{"name": "road", "id": 2},
{"name": "building", "id": 3},
]
)
img = wandb.Image(
image,
boxes={
"predictions": {
"box_data": [
{
# 기본 상대/분수 도메인으로 표현된 상자 하나
"position": {
"minX": 0.1,
"maxX": 0.2,
"minY": 0.3,
"maxY": 0.4,
},
"class_id": 1,
"box_caption": class_labels[1],
"scores": {"acc": 0.2, "loss": 1.2},
},
{
# 픽셀 도메인으로 표현된 다른 상자
"position": {
"middle": [150, 20],
"width": 68,
"height": 112,
},
"domain": "pixel",
"class_id": 3,
"box_caption": "a building",
"scores": {"acc": 0.5, "loss": 0.7},
},
# 필요한 만큼 상자를 로깅합니다.
],
"class_labels": class_labels,
}
},
classes=class_set,
)
table = wandb.Table(columns=["image"])
table.add_data(img)
run.log({"driving_scene": table})
메소드
type_name
소스 보기
@classmethod
type_name() -> str
validate
소스 보기
validate(
val: dict
) -> bool
4.3 - Graph
graphs를 위한 Wandb 클래스입니다.
이 클래스는 일반적으로 신경망 모델을 저장하고 표시하는 데 사용됩니다. 노드와 엣지의 배열로 그래프를 나타냅니다. 노드는 wandb에서 시각화할 수 있는 레이블을 가질 수 있습니다.
예시:
keras 모델 가져오기:
Graph.from_keras(keras_model)
메소드
add_edge
소스 보기
add_edge(
from_node, to_node
)
add_node
소스 보기
add_node(
node=None, **node_kwargs
)
from_keras
소스 보기
@classmethod
from_keras(
model
)
pprint
소스 보기
__getitem__
소스 보기
4.4 - Histogram
히스토그램을 위한 wandb 클래스입니다.
Histogram(
sequence: Optional[Sequence] = None,
np_histogram: Optional['NumpyHistogram'] = None,
num_bins: int = 64
) -> None
이 오브젝트는 numpy의 histogram 함수와 똑같이 작동합니다.
https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
예시:
시퀀스에서 히스토그램 생성
wandb.Histogram([1, 2, 3])
np.histogram에서 효율적으로 초기화합니다.
hist = np.histogram(data)
wandb.Histogram(np_histogram=hist)
인자 |
|
sequence |
(array_like) 히스토그램을 위한 입력 데이터 |
np_histogram |
(numpy histogram) 미리 계산된 히스토그램의 대체 입력 |
num_bins |
(int) 히스토그램의 bin 개수입니다. 기본 bin 개수는 64개입니다. 최대 bin 개수는 512개입니다. |
속성 |
|
bins |
([float]) bin의 경계 |
histogram |
([int]) 각 bin에 속하는 요소의 수 |
4.5 - Html
임의의 HTML을 위한 Wandb 클래스입니다.
Html(
data: Union[str, 'TextIO'],
inject: bool = (True)
) -> None
ARG |
|
data |
(문자열 또는 IO 오브젝트) wandb에 표시할 HTML |
inject |
(부울) HTML 오브젝트에 스타일시트를 추가합니다. False로 설정하면 HTML이 변경되지 않고 전달됩니다. |
메소드
inject_head
소스 보기
4.6 - Image
W&B에 로깅하기 위한 이미지 형식입니다.
Image(
data_or_path: "ImageDataOrPathType",
mode: Optional[str] = None,
caption: Optional[str] = None,
grouping: Optional[int] = None,
classes: Optional[Union['Classes', Sequence[dict]]] = None,
boxes: Optional[Union[Dict[str, 'BoundingBoxes2D'], Dict[str, dict]]] = None,
masks: Optional[Union[Dict[str, 'ImageMask'], Dict[str, dict]]] = None,
file_type: Optional[str] = None
) -> None
참고 : torch.Tensor
를 wandb.Image
로 로깅할 때 이미지는 정규화됩니다. 이미지를 정규화하지 않으려면 텐서를 PIL Image로 변환하십시오.
예시:
numpy array에서 wandb.Image 생성
import numpy as np
import wandb
with wandb.init() as run:
examples = []
for i in range(3):
pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
image = wandb.Image(pixels, caption=f"random field {i}")
examples.append(image)
run.log({"examples": examples})
PILImage에서 wandb.Image 생성
import numpy as np
from PIL import Image as PILImage
import wandb
with wandb.init() as run:
examples = []
for i in range(3):
pixels = np.random.randint(
low=0, high=256, size=(100, 100, 3), dtype=np.uint8
)
pil_image = PILImage.fromarray(pixels, mode="RGB")
image = wandb.Image(pil_image, caption=f"random field {i}")
examples.append(image)
run.log({"examples": examples})
.png (기본값) 대신 .jpg 로깅
import numpy as np
import wandb
with wandb.init() as run:
examples = []
for i in range(3):
pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
image = wandb.Image(pixels, caption=f"random field {i}", file_type="jpg")
examples.append(image)
run.log({"examples": examples})
Methods
all_boxes
View source
@classmethod
all_boxes(
images: Sequence['Image'],
run: "LocalRun",
run_key: str,
step: Union[int, str]
) -> Union[List[Optional[dict]], bool]
all_captions
View source
@classmethod
all_captions(
images: Sequence['Media']
) -> Union[bool, Sequence[Optional[str]]]
all_masks
View source
@classmethod
all_masks(
images: Sequence['Image'],
run: "LocalRun",
run_key: str,
step: Union[int, str]
) -> Union[List[Optional[dict]], bool]
guess_mode
View source
guess_mode(
data: "np.ndarray"
) -> str
np.array가 나타내는 이미지 유형을 추측합니다.
to_uint8
View source
@classmethod
to_uint8(
data: "np.ndarray"
) -> "np.ndarray"
이미지 데이터를 uint8로 변환합니다.
[0,1] 범위의 부동 소수점 이미지와 [0,255] 범위의 정수 이미지를 uint8로 변환하고 필요한 경우 클리핑합니다.
클래스 변수 |
|
MAX_DIMENSION |
65500 |
MAX_ITEMS |
108 |
4.7 - ImageMask
W&B에 로깅하기 위한 이미지 마스크 또는 오버레이를 포맷합니다.
ImageMask(
val: dict,
key: str
) -> None
ARG |
|
val |
(dictionary) 이미지를 나타내는 다음 두 키 중 하나: mask_data : (2D numpy array) 이미지의 각 픽셀에 대한 정수 클래스 레이블을 포함하는 마스크 path : (string) 마스크의 저장된 이미지 파일 경로 class_labels : (정수-문자열 사전, 선택 사항) 마스크의 정수 클래스 레이블을 읽을 수 있는 클래스 이름에 매핑합니다. 기본적으로 class_0, class_1, class_2 등으로 설정됩니다. |
key |
(string) 이 마스크 유형의 읽을 수 있는 이름 또는 ID (예: 예측값, ground_truth) |
예시:
단일 마스크 이미지 로깅
import numpy as np
import wandb
run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)
predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3
ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3
class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}
masked_image = wandb.Image(
image,
masks={
"predictions": {
"mask_data": predicted_mask,
"class_labels": class_labels,
},
"ground_truth": {
"mask_data": ground_truth_mask,
"class_labels": class_labels,
},
},
)
run.log({"img_with_masks": masked_image})
테이블 내부에 마스크된 이미지 로그
import numpy as np
import wandb
run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)
predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3
ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3
class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}
class_set = wandb.Classes(
[
{"name": "person", "id": 0},
{"name": "tree", "id": 1},
{"name": "car", "id": 2},
{"name": "road", "id": 3},
]
)
masked_image = wandb.Image(
image,
masks={
"predictions": {
"mask_data": predicted_mask,
"class_labels": class_labels,
},
"ground_truth": {
"mask_data": ground_truth_mask,
"class_labels": class_labels,
},
},
classes=class_set,
)
table = wandb.Table(columns=["image"])
table.add_data(masked_image)
run.log({"random_field": table})
Methods
type_name
View source
@classmethod
type_name() -> str
validate
View source
validate(
val: dict
) -> bool
4.8 - Molecule
3D 분자 데이터를 위한 Wandb 클래스입니다.
Molecule(
data_or_path: Union[str, 'TextIO'],
caption: Optional[str] = None,
**kwargs
) -> None
ARG |
|
data_or_path |
(string, io) Molecule은 파일 이름이나 io 오브젝트에서 초기화할 수 있습니다. |
caption |
(string) 표시를 위해 분자와 연결된 캡션입니다. |
Methods
from_rdkit
View source
@classmethod
from_rdkit(
data_or_path: "RDKitDataType",
caption: Optional[str] = None,
convert_to_3d_and_optimize: bool = (True),
mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"
RDKit에서 지원하는 파일/오브젝트 유형을 wandb.Molecule로 변환합니다.
ARG |
|
data_or_path |
(string, rdkit.Chem.rdchem.Mol) Molecule은 파일 이름이나 rdkit.Chem.rdchem.Mol 오브젝트에서 초기화할 수 있습니다. |
caption |
(string) 표시를 위해 분자와 연결된 캡션입니다. |
convert_to_3d_and_optimize |
(bool) 3D 좌표로 rdkit.Chem.rdchem.Mol로 변환합니다. 이는 복잡한 분자에 대해 시간이 오래 걸릴 수 있는 비용이 많이 드는 작업입니다. |
mmff_optimize_molecule_max_iterations |
(int) rdkit.Chem.AllChem.MMFFOptimizeMolecule에서 사용할 반복 횟수입니다. |
from_smiles
View source
@classmethod
from_smiles(
data: str,
caption: Optional[str] = None,
sanitize: bool = (True),
convert_to_3d_and_optimize: bool = (True),
mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"
SMILES 문자열을 wandb.Molecule로 변환합니다.
ARG |
|
data |
(string) SMILES 문자열. |
caption |
(string) 표시를 위해 분자와 연결된 캡션 |
sanitize |
(bool) 분자가 RDKit의 정의에 따라 화학적으로 합리적인지 확인합니다. |
convert_to_3d_and_optimize |
(bool) 3D 좌표로 rdkit.Chem.rdchem.Mol로 변환합니다. 이는 복잡한 분자에 대해 시간이 오래 걸릴 수 있는 비용이 많이 드는 작업입니다. |
mmff_optimize_molecule_max_iterations |
(int) rdkit.Chem.AllChem.MMFFOptimizeMolecule에서 사용할 반복 횟수입니다. |
Class Variables |
|
SUPPORTED_RDKIT_TYPES |
|
SUPPORTED_TYPES |
|
4.9 - Object3D
3D 포인트 클라우드를 위한 Wandb 클래스입니다.
Object3D(
data_or_path: Union['np.ndarray', str, 'TextIO', dict],
**kwargs
) -> None
Args |
|
data_or_path |
(numpy array, string, io) Object3D는 파일 또는 numpy array에서 초기화할 수 있습니다. 파일 또는 io 오브젝트에 대한 경로와 SUPPORTED_TYPES 중 하나여야 하는 file_type을 전달할 수 있습니다. |
numpy array의 모양은 다음 중 하나여야 합니다.
[[x y z], ...] nx3
[[x y z c], ...] nx4 여기서 c는 지원되는 범위 [1, 14]의 카테고리입니다.
[[x y z r g b], ...] nx6 여기서 rgb는 색상입니다.
Methods
from_file
View source
@classmethod
from_file(
data_or_path: Union['TextIO', str],
file_type: Optional['FileFormat3D'] = None
) -> "Object3D"
파일 또는 스트림에서 Object3D를 초기화합니다.
Args |
|
data_or_path (Union[“TextIO”, str]): 파일 또는 TextIO 스트림에 대한 경로입니다. file_type (str): data_or_path 에 전달된 데이터 형식을 지정합니다. data_or_path 가 TextIO 스트림인 경우 필수입니다. 파일 경로가 제공되면 이 파라미터는 무시됩니다. 유형은 파일 확장명에서 가져옵니다. |
|
from_numpy
View source
@classmethod
from_numpy(
data: "np.ndarray"
) -> "Object3D"
numpy array에서 Object3D를 초기화합니다.
Args |
|
data (numpy array): array의 각 항목은 포인트 클라우드의 한 점을 나타냅니다. |
|
numpy array의 모양은 다음 중 하나여야 합니다.
[[x y z], ...] # nx3.
[[x y z c], ...] # nx4 여기서 c는 지원되는 범위 [1, 14]의 카테고리입니다.
[[x y z r g b], ...] # nx6 여기서 rgb는 색상입니다.
from_point_cloud
View source
@classmethod
from_point_cloud(
points: Sequence['Point'],
boxes: Sequence['Box3D'],
vectors: Optional[Sequence['Vector3D']] = None,
point_cloud_type: "PointCloudType" = "lidar/beta"
) -> "Object3D"
python 오브젝트에서 Object3D를 초기화합니다.
Args |
|
points (Sequence[“Point”]): 포인트 클라우드의 점입니다. boxes (Sequence[“Box3D”]): 포인트 클라우드를 레이블링하기 위한 3D 경계 상자입니다. 상자는 포인트 클라우드 시각화에 표시됩니다. vectors (Optional[Sequence[“Vector3D”]]): 각 벡터는 포인트 클라우드 시각화에 표시됩니다. 경계 상자의 방향성을 나타내는 데 사용할 수 있습니다. 기본값은 None입니다. point_cloud_type (“lidar/beta”): 현재 “lidar/beta” 유형만 지원됩니다. 기본값은 “lidar/beta"입니다. |
|
Class Variables |
|
SUPPORTED_POINT_CLOUD_TYPES |
|
SUPPORTED_TYPES |
|
4.10 - Plotly
plotly plot을 위한 Wandb 클래스입니다.
Plotly(
val: Union['plotly.Figure', 'matplotlib.artist.Artist']
)
ARG |
|
val |
matplotlib 또는 plotly figure |
메소드
View source
@classmethod
make_plot_media(
val: Union['plotly.Figure', 'matplotlib.artist.Artist']
) -> Union[Image, 'Plotly']
4.11 - Table
표 형식의 데이터를 표시하고 분석하는 데 사용되는 Table 클래스입니다.
Table(
columns=None, data=None, rows=None, dataframe=None, dtype=None, optional=(True),
allow_mixed_types=(False)
)
기존 스프레드시트와 달리 Tables는 다양한 유형의 데이터를 지원합니다. 스칼라 값, 문자열, numpy 배열 및 wandb.data_types.Media
의 대부분의 서브클래스가 해당됩니다.
즉, 다른 기존 스칼라 값과 함께 Images
, Video
, Audio
및 기타 종류의 풍부하고 주석이 달린 미디어를 Tables에 직접 포함할 수 있습니다.
이 클래스는 UI에서 Table Visualizer를 생성하는 데 사용되는 기본 클래스입니다. https://docs.wandb.ai/guides/data-vis/tables를 참조하세요.
인수 |
|
columns |
(List[str]) 테이블의 열 이름입니다. 기본값은 [“Input”, “Output”, “Expected”]입니다. |
data |
(List[List[any]]) 값의 2D 행 중심 배열입니다. |
dataframe |
(pandas.DataFrame) 테이블을 만드는 데 사용되는 DataFrame 오브젝트입니다. 설정되면 data 및 columns 인수는 무시됩니다. |
optional |
(Union[bool,List[bool]]) None 값이 허용되는지 여부를 결정합니다. 기본값은 True입니다. 단일 bool 값인 경우 구성 시 지정된 모든 열에 대해 선택 사항이 적용됩니다. bool 값 목록인 경우 각 열에 선택 사항이 적용됩니다. columns 와 길이가 같아야 합니다. 모든 열에 적용됩니다. bool 값 목록은 각 해당 열에 적용됩니다. |
allow_mixed_types |
(bool) 열에 혼합된 유형을 허용할지 여부를 결정합니다(유형 유효성 검사 비활성화). 기본값은 False입니다. |
Methods
add_column
View source
add_column(
name, data, optional=(False)
)
테이블에 데이터 열을 추가합니다.
인수 |
|
name |
(str) - 열의 고유한 이름 |
data |
(list |
optional |
(bool) - null과 유사한 값이 허용되는지 여부 |
add_computed_columns
View source
add_computed_columns(
fn
)
기존 데이터를 기반으로 하나 이상의 계산된 열을 추가합니다.
인수 |
|
fn |
하나 또는 두 개의 파라미터, ndx (int) 및 row (dict)를 허용하는 함수입니다. 여기서 ndx는 행의 인덱스를 나타내는 정수입니다. include_ndx 가 True 로 설정된 경우에만 포함됩니다. row 는 기존 열을 키로 사용하는 사전입니다. 이 함수는 해당 행에 대한 새 열을 나타내는 사전을 반환해야 합니다(새 열 이름을 키로 사용). |
add_data
View source
테이블에 새 데이터 행을 추가합니다. 테이블의 최대 행 수는 wandb.Table.MAX_ARTIFACT_ROWS
에 의해 결정됩니다.
데이터 길이는 테이블 열의 길이와 일치해야 합니다.
add_row
View source
더 이상 사용되지 않습니다. 대신 add_data를 사용하세요.
cast
View source
cast(
col_name, dtype, optional=(False)
)
열을 특정 데이터 유형으로 캐스팅합니다.
이는 일반 Python 클래스, 내부 W&B 유형 또는
wandb.Image 또는 wandb.Classes의 인스턴스와 같은 예제 오브젝트 중 하나일 수 있습니다.
인수 |
|
col_name |
(str) - 캐스팅할 열의 이름입니다. |
dtype |
(class, wandb.wandb_sdk.interface._dtypes.Type, any) - 대상 dtype입니다. |
optional |
(bool) - 열에서 None을 허용해야 하는지 여부입니다. |
get_column
View source
get_column(
name, convert_to=None
)
테이블에서 열을 검색하고 선택적으로 NumPy 오브젝트로 변환합니다.
인수 |
|
name |
(str) - 열의 이름 |
convert_to |
(str, optional) - “numpy”: 기본 데이터를 numpy 오브젝트로 변환합니다. |
get_dataframe
View source
테이블의 pandas.DataFrame
을 반환합니다.
get_index
View source
다른 테이블에서 링크를 만드는 데 사용할 행 인덱스 배열을 반환합니다.
index_ref
View source
테이블에서 행의 인덱스에 대한 참조를 가져옵니다.
iterrows
View source
행의 인덱스 및 관련 데이터를 표시하여 테이블 데이터를 행별로 반환합니다.
index : int
행의 인덱스입니다. 다른 W&B 테이블에서 이 값을 사용하면
테이블 간에 관계가 자동으로 구축됩니다.
row : List[any]
행의 데이터입니다.
set_fk
View source
set_fk(
col_name, table, table_col
)
set_pk
View source
Class Variables |
|
MAX_ARTIFACT_ROWS |
200000 |
MAX_ROWS |
10000 |
4.12 - Video
W&B에 로깅하기 위한 비디오 포맷입니다.
Video(
data_or_path: Union['np.ndarray', str, 'TextIO', 'BytesIO'],
caption: Optional[str] = None,
fps: Optional[int] = None,
format: Optional[str] = None
)
Args |
|
data_or_path |
(numpy array, string, io) 비디오는 파일 경로 또는 io 오브젝트로 초기화할 수 있습니다. 포맷은 “gif”, “mp4”, “webm” 또는 “ogg"이어야 합니다. 포맷은 format 인수로 지정해야 합니다. 비디오는 numpy 텐서로 초기화할 수 있습니다. numpy 텐서는 4차원 또는 5차원이어야 합니다. 채널은 (시간, 채널, 높이, 너비) 또는 (배치, 시간, 채널, 높이, 너비)여야 합니다. |
caption |
(string) 표시에 사용될 비디오와 관련된 캡션입니다. |
fps |
(int) 원시 비디오 프레임을 인코딩할 때 사용할 프레임 속도입니다. 기본값은 4입니다. 이 파라미터는 data_or_path가 string 또는 bytes인 경우 영향을 미치지 않습니다. |
format |
(string) 비디오 포맷입니다. 경로 또는 io 오브젝트로 초기화하는 경우 필요합니다. |
Examples:
numpy array를 비디오로 로그합니다.
import numpy as np
import wandb
run = wandb.init()
# axes are (time, channel, height, width)
frames = np.random.randint(low=0, high=256, size=(10, 3, 100, 100), dtype=np.uint8)
run.log({"video": wandb.Video(frames, fps=4)})
Methods
encode
View source
encode(
fps: int = 4
) -> None
4.13 - WBTraceTree
trace tree 데이터를 위한 미디어 오브젝트.
WBTraceTree(
root_span: Span,
model_dict: typing.Optional[dict] = None
)
ARG |
|
root_span (Span): trace tree의 루트 Span입니다. model_dict (dict, optional): 모델 덤프를 포함하는 사전입니다. 참고: model_dict는 완전히 사용자 정의된 dict입니다. UI는 이 dict에 대한 JSON 뷰어를 렌더링하며 _kind 키가 있는 사전을 특별히 처리합니다. 이는 모델 공급업체가 매우 다른 직렬화 형식을 가지고 있기 때문에 여기에서 유연해야 하기 때문입니다. |
|
5 - finish
run 을 종료하고 남아있는 모든 데이터를 업로드합니다.
finish(
exit_code: (int | None) = None,
quiet: (bool | None) = None
) -> None
W&B run 의 완료를 표시하고 모든 데이터가 서버 와 동기화되도록 합니다. run 의 최종 상태는 종료 조건 및 동기화 상태에 따라 결정됩니다.
run 상태:
- Running: 데이터를 로깅하거나 하트비트를 보내는 활성 run 입니다.
- Crashed: 예기치 않게 하트비트 전송을 중단한 run 입니다.
- Finished: 모든 데이터가 동기화되어 성공적으로 완료된 run 입니다(
exit_code=0
).
- Failed: 오류와 함께 완료된 run 입니다(
exit_code!=0
).
Args |
|
exit_code |
run 의 종료 상태를 나타내는 정수입니다. 성공 시 0을 사용하고, 다른 값은 run 이 실패했음을 표시합니다. |
quiet |
더 이상 사용되지 않습니다. wandb.Settings(quiet=...) 를 사용하여 로깅 verbosity를 구성하세요. |
6 - Import & Export API
클래스
class Api
: wandb 서버 를 쿼리하는 데 사용됩니다.
class File
: File은 wandb에서 저장한 파일과 연결된 클래스입니다.
class Files
: File
오브젝트 의 반복 가능한 컬렉션입니다.
class Job
class Project
: Project는 Runs의 네임스페이스입니다.
class Projects
: Project
오브젝트의 반복 가능한 컬렉션입니다.
class QueuedRun
: 엔티티 및 프로젝트와 연결된 단일 대기열에 있는 Run입니다. run = queued_run.wait_until_running()
또는 run = queued_run.wait_until_finished()
를 호출하여 Run에 엑세스합니다.
class Run
: 엔티티 및 프로젝트와 연결된 단일 Run입니다.
class RunQueue
class Runs
: 프로젝트와 연결된 Run의 반복 가능한 컬렉션이며, 선택적 필터입니다.
class Sweep
: 스윕 과 연결된 Run의 집합입니다.
6.1 - Api
wandb 서버를 쿼리하는 데 사용됩니다.
Api(
overrides: Optional[Dict[str, Any]] = None,
timeout: Optional[int] = None,
api_key: Optional[str] = None
) -> None
예시:
가장 일반적인 초기화 방법
>>> wandb.Api()
ARG |
|
overrides |
(사전) https://api.wandb.ai 가 아닌 wandb 서버를 사용하는 경우 base_url 을 설정할 수 있습니다. entity , project 및 run 에 대한 기본값을 설정할 수도 있습니다. |
메소드
artifact
소스 보기
artifact(
name: str,
type: Optional[str] = None
)
project/name
또는 entity/project/name
형식으로 경로를 파싱하여 단일 아티팩트를 반환합니다.
ARG |
|
name |
(str) 아티팩트 이름입니다. project/ 또는 entity/project/로 시작할 수 있습니다. 이름에 entity가 지정되지 않은 경우 Run 또는 API 설정의 entity가 사용됩니다. 유효한 이름은 name:version name:alias 형식일 수 있습니다. |
type |
(str, 선택 사항) 가져올 아티팩트의 유형입니다. |
예외 |
|
ValueError |
아티팩트 이름이 지정되지 않은 경우 |
ValueError |
아티팩트 유형이 지정되었지만 가져온 아티팩트의 유형과 일치하지 않는 경우 |
참고:
이 메소드는 외부 전용입니다. wandb 리포지토리 코드 내에서 api.artifact()
를 호출하지 마십시오.
artifact_collection
소스 보기
artifact_collection(
type_name: str,
name: str
) -> "public.ArtifactCollection"
유형별로 단일 아티팩트 컬렉션을 반환하고 entity/project/name
형식으로 경로를 파싱합니다.
ARG |
|
type_name |
(str) 가져올 아티팩트 컬렉션의 유형입니다. |
name |
(str) 아티팩트 컬렉션 이름입니다. entity/project로 시작할 수 있습니다. |
반환 |
|
ArtifactCollection 오브젝트입니다. |
|
artifact_collection_exists
소스 보기
artifact_collection_exists(
name: str,
type: str
) -> bool
지정된 프로젝트 및 entity 내에 아티팩트 컬렉션이 있는지 여부를 반환합니다.
ARG |
|
name |
(str) 아티팩트 컬렉션 이름입니다. entity/project로 시작할 수 있습니다. entity 또는 project가 지정되지 않은 경우 채워진 경우 오버라이드 파라미터에서 추론됩니다. 그렇지 않으면 entity는 사용자 설정에서 가져오고 project는 기본적으로 “uncategorized"로 설정됩니다. |
type |
(str) 아티팩트 컬렉션의 유형 |
반환 |
|
아티팩트 컬렉션이 있으면 True, 그렇지 않으면 False입니다. |
|
artifact_collections
소스 보기
artifact_collections(
project_name: str,
type_name: str,
per_page: Optional[int] = 50
) -> "public.ArtifactCollections"
일치하는 아티팩트 컬렉션의 컬렉션을 반환합니다.
ARG |
|
project_name |
(str) 필터링할 프로젝트의 이름입니다. |
type_name |
(str) 필터링할 아티팩트 유형의 이름입니다. |
per_page |
(int, 선택 사항) 쿼리 페이지 매김에 대한 페이지 크기를 설정합니다. None은 기본 크기를 사용합니다. 일반적으로 이를 변경할 이유는 없습니다. |
반환 |
|
반복 가능한 ArtifactCollections 오브젝트입니다. |
|
artifact_exists
소스 보기
artifact_exists(
name: str,
type: Optional[str] = None
) -> bool
지정된 프로젝트 및 entity 내에 아티팩트 버전이 있는지 여부를 반환합니다.
ARG |
|
name |
(str) 아티팩트 이름입니다. entity/project로 시작할 수 있습니다. entity 또는 project가 지정되지 않은 경우 채워진 경우 오버라이드 파라미터에서 추론됩니다. 그렇지 않으면 entity는 사용자 설정에서 가져오고 project는 기본적으로 “uncategorized"로 설정됩니다. 유효한 이름은 name:version name:alias 형식일 수 있습니다. |
type |
(str, 선택 사항) 아티팩트 유형 |
반환 |
|
아티팩트 버전이 있으면 True, 그렇지 않으면 False입니다. |
|
artifact_type
소스 보기
artifact_type(
type_name: str,
project: Optional[str] = None
) -> "public.ArtifactType"
일치하는 ArtifactType
을 반환합니다.
ARG |
|
type_name |
(str) 검색할 아티팩트 유형의 이름입니다. |
project |
(str, 선택 사항) 지정된 경우 필터링할 프로젝트 이름 또는 경로입니다. |
artifact_types
소스 보기
artifact_types(
project: Optional[str] = None
) -> "public.ArtifactTypes"
일치하는 아티팩트 유형의 컬렉션을 반환합니다.
ARG |
|
project |
(str, 선택 사항) 지정된 경우 필터링할 프로젝트 이름 또는 경로입니다. |
반환 |
|
반복 가능한 ArtifactTypes 오브젝트입니다. |
|
artifact_versions
소스 보기
artifact_versions(
type_name, name, per_page=50
)
더 이상 사용되지 않습니다. 대신 artifacts(type_name, name)
을 사용하세요.
artifacts
소스 보기
artifacts(
type_name: str,
name: str,
per_page: Optional[int] = 50,
tags: Optional[List[str]] = None
) -> "public.Artifacts"
지정된 파라미터에서 Artifacts
컬렉션을 반환합니다.
ARG |
|
type_name |
(str) 가져올 아티팩트의 유형입니다. |
name |
(str) 아티팩트 컬렉션 이름입니다. entity/project로 시작할 수 있습니다. |
per_page |
(int, 선택 사항) 쿼리 페이지 매김에 대한 페이지 크기를 설정합니다. None은 기본 크기를 사용합니다. 일반적으로 이를 변경할 이유는 없습니다. |
tags |
(list[str], 선택 사항) 이러한 모든 태그가 있는 아티팩트만 반환합니다. |
반환 |
|
반복 가능한 Artifacts 오브젝트입니다. |
|
create_project
소스 보기
create_project(
name: str,
entity: str
) -> None
새 프로젝트를 만듭니다.
ARG |
|
name |
(str) 새 프로젝트의 이름입니다. |
entity |
(str) 새 프로젝트의 entity입니다. |
create_run
소스 보기
create_run(
*,
run_id: Optional[str] = None,
project: Optional[str] = None,
entity: Optional[str] = None
) -> "public.Run"
새 run을 만듭니다.
ARG |
|
run_id |
(str, 선택 사항) 지정된 경우 run에 할당할 ID입니다. run ID는 기본적으로 자동으로 생성되므로 일반적으로 이를 지정할 필요가 없으며 자신의 책임하에만 수행해야 합니다. |
project |
(str, 선택 사항) 지정된 경우 새 run의 프로젝트입니다. |
entity |
(str, 선택 사항) 지정된 경우 새 run의 entity입니다. |
create_run_queue
소스 보기
create_run_queue(
name: str,
type: "public.RunQueueResourceType",
entity: Optional[str] = None,
prioritization_mode: Optional['public.RunQueuePrioritizationMode'] = None,
config: Optional[dict] = None,
template_variables: Optional[dict] = None
) -> "public.RunQueue"
새 run 대기열(Launch)을 만듭니다.
ARG |
|
name |
(str) 만들 대기열의 이름 |
type |
(str) 대기열에 사용할 리소스 유형입니다. “local-container”, “local-process”, “kubernetes”, “sagemaker” 또는 “gcp-vertex” 중 하나입니다. |
entity |
(str) 대기열을 만들 entity의 선택적 이름입니다. None이면 구성된 entity 또는 기본 entity가 사용됩니다. |
prioritization_mode |
(str) 사용할 우선 순위 지정의 선택적 버전입니다. “V0” 또는 None입니다. |
config |
(dict) 대기열에 사용할 선택적 기본 리소스 구성입니다. 핸들바({{var}} 등)를 사용하여 템플릿 변수를 지정합니다. |
template_variables |
(dict) 구성과 함께 사용할 템플릿 변수 스키마의 사전입니다. 예상 형식: { "var-name": { "schema": { "type": ("string", "number", or "integer"), "default": (optional value), "minimum": (optional minimum), "maximum": (optional maximum), "enum": [..."(options)"] } } } |
예외 |
|
파라미터가 유효하지 않으면 ValueError wandb API 오류 시 wandb.Error |
|
create_team
소스 보기
create_team(
team, admin_username=None
)
새 팀을 만듭니다.
ARG |
|
team |
(str) 팀의 이름 |
admin_username |
(str) 팀의 관리자 사용자의 선택적 사용자 이름이며, 기본값은 현재 사용자입니다. |
create_user
소스 보기
create_user(
email, admin=(False)
)
새 사용자를 만듭니다.
ARG |
|
email |
(str) 사용자의 이메일 주소 |
admin |
(bool) 이 사용자가 전역 인스턴스 관리자인지 여부 |
flush
소스 보기
로컬 캐시를 플러시합니다.
api 오브젝트는 run의 로컬 캐시를 유지하므로 스크립트를 실행하는 동안 run의 상태가 변경될 수 있는 경우
api.flush()
로 로컬 캐시를 지워야 합니다. 그래야 run과 관련된 최신 값을 얻을 수 있습니다.
from_path
소스 보기
경로에서 run, 스윕, 프로젝트 또는 리포트를 반환합니다.
예시:
project = api.from_path("my_project")
team_project = api.from_path("my_team/my_project")
run = api.from_path("my_team/my_project/runs/id")
sweep = api.from_path("my_team/my_project/sweeps/id")
report = api.from_path("my_team/my_project/reports/My-Report-Vm11dsdf")
ARG |
|
path |
(str) 프로젝트, run, 스윕 또는 리포트의 경로 |
반환 |
|
Project , Run , Sweep 또는 BetaReport 인스턴스입니다. |
|
예외 |
|
경로가 유효하지 않거나 오브젝트가 존재하지 않으면 wandb.Error |
|
job
소스 보기
job(
name: Optional[str],
path: Optional[str] = None
) -> "public.Job"
지정된 파라미터에서 Job
을 반환합니다.
ARG |
|
name |
(str) 작업 이름입니다. |
path |
(str, 선택 사항) 지정된 경우 작업 아티팩트를 다운로드할 루트 경로입니다. |
list_jobs
소스 보기
list_jobs(
entity: str,
project: str
) -> List[Dict[str, Any]]
지정된 entity 및 프로젝트에 대한 작업 목록(있는 경우)을 반환합니다.
ARG |
|
entity |
(str) 나열된 작업의 entity입니다. |
project |
(str) 나열된 작업의 프로젝트입니다. |
project
소스 보기
project(
name: str,
entity: Optional[str] = None
) -> "public.Project"
지정된 이름(및 지정된 경우 entity)으로 Project
를 반환합니다.
ARG |
|
name |
(str) 프로젝트 이름입니다. |
entity |
(str) 요청된 entity의 이름입니다. None이면 Api 에 전달된 기본 entity로 대체됩니다. 기본 entity가 없으면 ValueError 가 발생합니다. |
projects
소스 보기
projects(
entity: Optional[str] = None,
per_page: Optional[int] = 200
) -> "public.Projects"
지정된 entity에 대한 프로젝트를 가져옵니다.
ARG |
|
entity |
(str) 요청된 entity의 이름입니다. None이면 Api 에 전달된 기본 entity로 대체됩니다. 기본 entity가 없으면 ValueError 가 발생합니다. |
per_page |
(int) 쿼리 페이지 매김에 대한 페이지 크기를 설정합니다. None은 기본 크기를 사용합니다. 일반적으로 이를 변경할 이유는 없습니다. |
반환 |
|
Project 오브젝트의 반복 가능한 컬렉션인 Projects 오브젝트입니다. |
|
queued_run
소스 보기
queued_run(
entity, project, queue_name, run_queue_item_id, project_queue=None,
priority=None
)
경로를 기반으로 단일 대기열에 있는 run을 반환합니다.
entity/project/queue_id/run_queue_item_id 형식의 경로를 파싱합니다.
registries
소스 보기
registries(
organization: Optional[str] = None,
filter: Optional[Dict[str, Any]] = None
) -> Registries
Registry 반복자를 반환합니다.
반복자를 사용하여 조직의 Registry에서 레지스트리, 컬렉션 또는 아티팩트 버전을 검색하고 필터링합니다.
예시:
이름에 “model"이 포함된 모든 레지스트리 찾기
import wandb
api = wandb.Api() # entity가 여러 조직에 속한 경우 조직을 지정합니다.
api.registries(filter={"name": {"$regex": "model"}})
이름이 “my_collection"이고 태그가 “my_tag"인 레지스트리의 모든 컬렉션 찾기
api.registries().collections(filter={"name": "my_collection", "tag": "my_tag"})
“my_collection"이 포함된 컬렉션 이름과 “best” 에일리어스가 있는 버전을 사용하여 레지스트리의 모든 아티팩트 버전 찾기
api.registries().collections(
filter={"name": {"$regex": "my_collection"}}
).versions(filter={"alias": "best"})
“model"을 포함하고 태그 “prod” 또는 에일리어스 “best"가 있는 레지스트리의 모든 아티팩트 버전 찾기
api.registries(filter={"name": {"$regex": "model"}}).versions(
filter={"$or": [{"tag": "prod"}, {"alias": "best"}]}
)
ARG |
|
organization |
(str, 선택 사항) 가져올 레지스트리의 조직입니다. 지정하지 않으면 사용자 설정에 지정된 조직을 사용합니다. |
filter |
(dict, 선택 사항) 레지스트리 반복자의 각 오브젝트에 적용할 MongoDB 스타일 필터입니다. 컬렉션에 대해 필터링할 수 있는 필드는 name , description , created_at , updated_at 입니다. 컬렉션에 대해 필터링할 수 있는 필드는 name , tag , description , created_at , updated_at 입니다. 버전에 대해 필터링할 수 있는 필드는 tag , alias , created_at , updated_at , metadata 입니다. |
reports
소스 보기
reports(
path: str = "",
name: Optional[str] = None,
per_page: Optional[int] = 50
) -> "public.Reports"
지정된 프로젝트 경로에 대한 리포트를 가져옵니다.
경고: 이 API는 베타 버전이며 향후 릴리스에서 변경될 수 있습니다.
ARG |
|
path |
(str) 리포트가 있는 프로젝트의 경로이며 “entity/project” 형식이어야 합니다. |
name |
(str, 선택 사항) 요청된 리포트의 선택적 이름입니다. |
per_page |
(int) 쿼리 페이지 매김에 대한 페이지 크기를 설정합니다. None은 기본 크기를 사용합니다. 일반적으로 이를 변경할 이유는 없습니다. |
반환 |
|
BetaReport 오브젝트의 반복 가능한 컬렉션인 Reports 오브젝트입니다. |
|
run
소스 보기
entity/project/run_id
형식으로 경로를 파싱하여 단일 run을 반환합니다.
ARG |
|
path |
(str) entity/project/run_id 형식의 run 경로입니다. api.entity 가 설정된 경우 project/run_id 형식일 수 있으며 api.project 가 설정된 경우 run_id일 수 있습니다. |
run_queue
소스 보기
run_queue(
entity, name
)
entity에 대해 이름이 지정된 RunQueue
를 반환합니다.
새 RunQueue
를 만들려면 wandb.Api().create_run_queue(...)
를 사용하세요.
runs
소스 보기
runs(
path: Optional[str] = None,
filters: Optional[Dict[str, Any]] = None,
order: str = "+created_at",
per_page: int = 50,
include_sweeps: bool = (True)
)
제공된 필터와 일치하는 프로젝트에서 run 집합을 반환합니다.
필터링할 수 있는 필드는 다음과 같습니다.
createdAt
: run이 생성된 타임스탬프입니다. (ISO 8601 형식, 예: “2023-01-01T12:00:00Z”)
displayName
: run의 사람이 읽을 수 있는 표시 이름입니다. (예: “eager-fox-1”)
duration
: run의 총 런타임(초)입니다.
group
: 관련 run을 함께 구성하는 데 사용되는 그룹 이름입니다.
host
: run이 실행된 호스트 이름입니다.
jobType
: run의 작업 유형 또는 목적입니다.
name
: run의 고유 식별자입니다. (예: “a1b2cdef”)
state
: run의 현재 상태입니다.
tags
: run과 연결된 태그입니다.
username
: run을 시작한 사용자의 사용자 이름입니다.
또한 run 구성 또는 요약 메트릭의 항목으로 필터링할 수 있습니다.
예: config.experiment_name
, summary_metrics.loss
등.
더 복잡한 필터링을 위해 MongoDB 쿼리 연산자를 사용할 수 있습니다.
자세한 내용은 https://docs.mongodb.com/manual/reference/operator/query를 참조하세요.
다음 작업이 지원됩니다.
$and
$or
$nor
$eq
$ne
$gt
$gte
$lt
$lte
$in
$nin
$exists
$regex
예시:
config.experiment_name이 “foo"로 설정된 my_project에서 run 찾기
api.runs(
path="my_entity/my_project",
filters={"config.experiment_name": "foo"},
)
config.experiment_name이 “foo” 또는 “bar"로 설정된 my_project에서 run 찾기
api.runs(
path="my_entity/my_project",
filters={
"$or": [
{"config.experiment_name": "foo"},
{"config.experiment_name": "bar"},
]
},
)
config.experiment_name이 정규식과 일치하는 my_project에서 run 찾기(앵커는 지원되지 않음)
api.runs(
path="my_entity/my_project",
filters={"config.experiment_name": {"$regex": "b.*"}},
)
run 이름이 정규식과 일치하는 my_project에서 run 찾기(앵커는 지원되지 않음)
api.runs(
path="my_entity/my_project",
filters={"display_name": {"$regex": "^foo.*"}},
)
config.experiment에 값 “testing"이 있는 중첩 필드 “category"가 포함된 my_project에서 run 찾기
api.runs(
path="my_entity/my_project",
filters={"config.experiment.category": "testing"},
)
요약 메트릭에서 model1 아래의 사전에 중첩된 손실 값이 0.5인 my_project에서 run 찾기
api.runs(
path="my_entity/my_project",
filters={"summary_metrics.model1.loss": 0.5},
)
오름차순 손실로 정렬된 my_project에서 run 찾기
api.runs(path="my_entity/my_project", order="+summary_metrics.loss")
ARG |
|
path |
(str) 프로젝트 경로이며 “entity/project” 형식이어야 합니다. |
filters |
(dict) MongoDB 쿼리 언어를 사용하여 특정 run을 쿼리합니다. config.key, summary_metrics.key, state, entity, createdAt 등과 같은 run 속성으로 필터링할 수 있습니다. 예: {"config.experiment_name": "foo"} 는 experiment name이 “foo"로 설정된 config 항목이 있는 run을 찾습니다. |
order |
(str) 순서는 created_at , heartbeat_at , config.*.value 또는 summary_metrics.* 일 수 있습니다. +를 사용하여 순서를 앞에 추가하면 오름차순입니다. -를 사용하여 순서를 앞에 추가하면 내림차순입니다(기본값). 기본 순서는 run.created_at이며 가장 오래된 것부터 가장 최신 것 순입니다. |
per_page |
(int) 쿼리 페이지 매김에 대한 페이지 크기를 설정합니다. |
include_sweeps |
(bool) 스윕 run을 결과에 포함할지 여부입니다. |
반환 |
|
Run 오브젝트의 반복 가능한 컬렉션인 Runs 오브젝트입니다. |
|
sweep
소스 보기
entity/project/sweep_id
형식으로 경로를 파싱하여 스윕을 반환합니다.
ARG |
|
path |
(str, 선택 사항) entity/project/sweep_id 형식의 스윕 경로입니다. api.entity 가 설정된 경우 project/sweep_id 형식일 수 있으며 api.project 가 설정된 경우 sweep_id일 수 있습니다. |
sync_tensorboard
소스 보기
sync_tensorboard(
root_dir, run_id=None, project=None, entity=None
)
tfevent 파일이 포함된 로컬 디렉토리를 wandb와 동기화합니다.
team
소스 보기
team(
team: str
) -> "public.Team"
지정된 이름으로 일치하는 Team
을 반환합니다.
upsert_run_queue
소스 보기
upsert_run_queue(
name: str,
resource_config: dict,
resource_type: "public.RunQueueResourceType",
entity: Optional[str] = None,
template_variables: Optional[dict] = None,
external_links: Optional[dict] = None,
prioritization_mode: Optional['public.RunQueuePrioritizationMode'] = None
)
run 대기열(Launch)을 upsert합니다.
ARG |
|
name |
(str) 만들 대기열의 이름 |
entity |
(str) 대기열을 만들 entity의 선택적 이름입니다. None이면 구성된 entity 또는 기본 entity가 사용됩니다. |
resource_config |
(dict) 대기열에 사용할 선택적 기본 리소스 구성입니다. 핸들바({{var}} 등)를 사용하여 템플릿 변수를 지정합니다. |
resource_type |
(str) 대기열에 사용할 리소스 유형입니다. “local-container”, “local-process”, “kubernetes”, “sagemaker” 또는 “gcp-vertex” 중 하나입니다. |
template_variables |
(dict) 구성과 함께 사용할 템플릿 변수 스키마의 사전입니다. 예상 형식: { "var-name": { "schema": { "type": ("string", "number", or "integer"), "default": (optional value), "minimum": (optional minimum), "maximum": (optional maximum), "enum": [..."(options)"] } } } |
external_links |
(dict) 대기열과 함께 사용할 외부 링크의 선택적 사전입니다. 예상 형식: { "name": "url" } |
prioritization_mode |
(str) 사용할 우선 순위 지정의 선택적 버전입니다. “V0” 또는 None입니다. |
예외 |
|
파라미터가 유효하지 않으면 ValueError wandb API 오류 시 wandb.Error |
|
user
소스 보기
user(
username_or_email: str
) -> Optional['public.User']
사용자 이름 또는 이메일 주소에서 사용자를 반환합니다.
참고: 이 함수는 로컬 관리자만 사용할 수 있습니다. 자신의 사용자 오브젝트를 가져오려면 api.viewer
를 사용하세요.
ARG |
|
username_or_email |
(str) 사용자의 사용자 이름 또는 이메일 주소 |
반환 |
|
User 오브젝트 또는 사용자를 찾을 수 없으면 None |
|
users
소스 보기
users(
username_or_email: str
) -> List['public.User']
부분 사용자 이름 또는 이메일 주소 쿼리에서 모든 사용자를 반환합니다.
참고: 이 함수는 로컬 관리자만 사용할 수 있습니다. 자신의 사용자 오브젝트를 가져오려면 api.viewer
를 사용하세요.
ARG |
|
username_or_email |
(str) 찾을 사용자의 접두사 또는 접미사 |
클래스 변수 |
|
CREATE_PROJECT |
|
DEFAULT_ENTITY_QUERY |
|
USERS_QUERY |
|
VIEWER_QUERY |
|
6.2 - File
File은 wandb에 의해 저장된 파일과 연결된 클래스입니다.
File(
client, attrs, run=None
)
속성 |
|
path_uri |
스토리지 버킷에 있는 파일의 uri 경로를 반환합니다. |
메소드
delete
View source
display
View source
display(
height=420, hidden=(False)
) -> bool
Jupyter에서 이 오브젝트를 표시합니다.
download
View source
download(
root: str = ".",
replace: bool = (False),
exist_ok: bool = (False),
api: Optional[Api] = None
) -> io.TextIOWrapper
wandb 서버에서 run에 의해 이전에 저장된 파일을 다운로드합니다.
Args |
|
replace (boolean): True 인 경우, 다운로드는 로컬 파일이 존재하면 덮어씁니다. 기본값은 False 입니다. root (str): 파일을 저장할 로컬 디렉토리입니다. 기본값은 “.“입니다. exist_ok (boolean): True 인 경우, 파일이 이미 존재하면 ValueError를 발생시키지 않으며 replace=True가 아니면 다시 다운로드하지 않습니다. 기본값은 False 입니다. api (Api, optional): 주어진 경우, 파일을 다운로드하는 데 사용되는 Api 인스턴스입니다. |
|
Raises |
|
파일이 이미 존재하고 replace=False 및 exist_ok=False인 경우 ValueError 가 발생합니다. |
|
snake_to_camel
View source
to_html
View source
to_html(
*args, **kwargs
)
6.3 - Files
File
오브젝트의 반복 가능한 컬렉션입니다.
Files(
client, run, names=None, per_page=50, upload=(False)
)
메소드
convert_objects
소스 보기
next
소스 보기
update_variables
소스 보기
__getitem__
소스 보기
__iter__
소스 보기
__len__
소스 보기
6.4 - Job
Job(
api: "Api",
name,
path: Optional[str] = None
) -> None
메소드
call
소스 보기
call(
config, project=None, entity=None, queue=None, resource="local-container",
resource_args=None, template_variables=None, project_queue=None, priority=None
)
set_entrypoint
소스 보기
set_entrypoint(
entrypoint: List[str]
)
6.5 - Project
project는 runs를 위한 네임스페이스입니다.
Project(
client, entity, project, attrs
)
Methods
artifacts_types
소스 보기
artifacts_types(
per_page=50
)
display
소스 보기
display(
height=420, hidden=(False)
) -> bool
Jupyter에서 이 오브젝트를 표시합니다.
snake_to_camel
소스 보기
sweeps
소스 보기
to_html
소스 보기
to_html(
height=420, hidden=(False)
)
이 project를 표시하는 iframe을 포함하는 HTML을 생성합니다.
6.6 - Projects
Project
오브젝트의 반복 가능한 컬렉션입니다.
Projects(
client, entity, per_page=50
)
메소드
convert_objects
소스 보기
next
소스 보기
update_variables
소스 보기
__getitem__
소스 보기
__iter__
소스 보기
__len__
소스 보기
6.7 - QueuedRun
엔티티 및 프로젝트와 연결된 단일 대기열 run입니다. run = queued_run.wait_until_running()
또는 run = queued_run.wait_until_finished()
를 호출하여 run에 액세스합니다.
QueuedRun(
client, entity, project, queue_name, run_queue_item_id,
project_queue=LAUNCH_DEFAULT_PROJECT, priority=None
)
메소드
delete
소스 보기
delete(
delete_artifacts=(False)
)
wandb 백엔드에서 지정된 대기열 run을 삭제합니다.
wait_until_finished
소스 보기
wait_until_running
소스 보기
6.8 - Run
엔티티 및 프로젝트와 연결된 단일 run입니다.
Run(
client: "RetryingClient",
entity: str,
project: str,
run_id: str,
attrs: Optional[Mapping] = None,
include_sweeps: bool = (True)
)
메소드
create
소스 보기
@classmethod
create(
api, run_id=None, project=None, entity=None
)
지정된 프로젝트에 대한 run을 생성합니다.
delete
소스 보기
delete(
delete_artifacts=(False)
)
wandb 백엔드에서 지정된 run을 삭제합니다.
display
소스 보기
display(
height=420, hidden=(False)
) -> bool
이 오브젝트를 jupyter에 표시합니다.
file
소스 보기
아티팩트에서 지정된 이름을 가진 파일의 경로를 반환합니다.
인수 |
|
name (str): 요청된 파일의 이름입니다. |
|
반환 |
|
name 인수와 일치하는 File 입니다. |
|
files
소스 보기
files(
names=None, per_page=50
)
이름이 지정된 각 파일에 대한 파일 경로를 반환합니다.
인수 |
|
names (list): 요청된 파일의 이름입니다. 비어 있으면 모든 파일을 반환합니다. per_page (int): 페이지당 결과 수입니다. |
|
반환 |
|
File 오브젝트에 대한 반복자인 Files 오브젝트입니다. |
|
history
소스 보기
history(
samples=500, keys=None, x_axis="_step", pandas=(True), stream="default"
)
run에 대한 샘플링된 히스토리 메트릭을 반환합니다.
히스토리 레코드가 샘플링되어도 괜찮다면 더 간단하고 빠릅니다.
인수 |
|
samples |
(int, optional) 반환할 샘플 수 |
pandas |
(bool, optional) pandas 데이터프레임을 반환합니다 |
keys |
(list, optional) 특정 키에 대한 메트릭만 반환합니다 |
x_axis |
(str, optional) 이 메트릭을 xAxis 기본값인 _step으로 사용합니다 |
stream |
(str, optional) 메트릭의 경우 “default”, 머신 메트릭의 경우 “system” |
반환 |
|
pandas.DataFrame |
pandas=True인 경우 히스토리 메트릭의 pandas.DataFrame 을 반환합니다. dict 목록: pandas=False인 경우 히스토리 메트릭의 dict 목록을 반환합니다. |
load
소스 보기
log_artifact
소스 보기
log_artifact(
artifact: "wandb.Artifact",
aliases: Optional[Collection[str]] = None,
tags: Optional[Collection[str]] = None
)
아티팩트를 run의 출력으로 선언합니다.
인수 |
|
artifact (Artifact ): wandb.Api().artifact(name) 에서 반환된 아티팩트입니다. aliases (list, optional): 이 아티팩트에 적용할 에일리어스입니다. |
|
tags |
(list, optional) 이 아티팩트에 적용할 태그(있는 경우)입니다. |
logged_artifacts
소스 보기
logged_artifacts(
per_page: int = 100
) -> public.RunArtifacts
이 run에서 로그된 모든 아티팩트를 가져옵니다.
run 중에 로그된 모든 출력 아티팩트를 검색합니다. 반복하거나 단일 목록으로 수집할 수 있는 페이지 매김된 결과를 반환합니다.
인수 |
|
per_page |
API 요청당 가져올 아티팩트 수입니다. |
반환 |
|
이 run 중에 출력으로 로그된 모든 Artifact 오브젝트의 반복 가능한 컬렉션입니다. |
|
예시:
>>> import wandb
>>> import tempfile
>>> with tempfile.NamedTemporaryFile(
... mode="w", delete=False, suffix=".txt"
... ) as tmp:
... tmp.write("This is a test artifact")
... tmp_path = tmp.name
>>> run = wandb.init(project="artifact-example")
>>> artifact = wandb.Artifact("test_artifact", type="dataset")
>>> artifact.add_file(tmp_path)
>>> run.log_artifact(artifact)
>>> run.finish()
>>> api = wandb.Api()
>>> finished_run = api.run(f"{run.entity}/{run.project}/{run.id}")
>>> for logged_artifact in finished_run.logged_artifacts():
... print(logged_artifact.name)
test_artifact
save
소스 보기
scan_history
소스 보기
scan_history(
keys=None, page_size=1000, min_step=None, max_step=None
)
run에 대한 모든 히스토리 레코드의 반복 가능한 컬렉션을 반환합니다.
예시:
예제 run에 대한 모든 손실 값을 내보냅니다.
run = api.run("l2k2/examples-numpy-boston/i0wt6xua")
history = run.scan_history(keys=["Loss"])
losses = [row["Loss"] for row in history]
인수 |
|
keys ([str], optional): 이러한 키만 가져오고, 정의된 모든 키를 가진 행만 가져옵니다. page_size (int, optional): API에서 가져올 페이지 크기입니다. min_step (int, optional): 한 번에 스캔할 최소 페이지 수입니다. max_step (int, optional): 한 번에 스캔할 최대 페이지 수입니다. |
|
반환 |
|
히스토리 레코드(dict)에 대한 반복 가능한 컬렉션입니다. |
|
snake_to_camel
소스 보기
to_html
소스 보기
to_html(
height=420, hidden=(False)
)
이 run을 표시하는 iframe을 포함하는 HTML을 생성합니다.
update
소스 보기
wandb 백엔드에 대한 run 오브젝트의 변경 사항을 유지합니다.
upload_file
소스 보기
upload_file(
path, root="."
)
파일을 업로드합니다.
인수 |
|
path (str): 업로드할 파일의 이름입니다. root (str): 파일을 기준으로 저장할 루트 경로입니다. 즉, 파일을 “my_dir/file.txt"로 run에 저장하고 현재 “my_dir"에 있는 경우 루트를 “../“로 설정합니다. |
|
반환 |
|
name 인수와 일치하는 File 입니다. |
|
use_artifact
소스 보기
use_artifact(
artifact, use_as=None
)
아티팩트를 run에 대한 입력으로 선언합니다.
인수 |
|
artifact (Artifact ): wandb.Api().artifact(name) 에서 반환된 아티팩트입니다. use_as (string, optional): 스크립트에서 아티팩트가 사용되는 방식을 식별하는 문자열입니다. 베타 wandb Launch 기능의 아티팩트 스와핑 기능을 사용할 때 run에서 사용되는 아티팩트를 쉽게 구별하는 데 사용됩니다. |
|
used_artifacts
소스 보기
used_artifacts(
per_page: int = 100
) -> public.RunArtifacts
이 run에서 명시적으로 사용된 아티팩트를 가져옵니다.
일반적으로 run.use_artifact()
를 통해 run 중에 사용된 것으로 명시적으로 선언된 입력 아티팩트만 검색합니다. 반복하거나 단일 목록으로 수집할 수 있는 페이지 매김된 결과를 반환합니다.
인수 |
|
per_page |
API 요청당 가져올 아티팩트 수입니다. |
반환 |
|
이 run에서 입력으로 명시적으로 사용된 Artifact 오브젝트의 반복 가능한 컬렉션입니다. |
|
예시:
>>> import wandb
>>> run = wandb.init(project="artifact-example")
>>> run.use_artifact("test_artifact:latest")
>>> run.finish()
>>> api = wandb.Api()
>>> finished_run = api.run(f"{run.entity}/{run.project}/{run.id}")
>>> for used_artifact in finished_run.used_artifacts():
... print(used_artifact.name)
test_artifact
wait_until_finished
소스 보기
6.9 - RunQueue
RunQueue(
client: "RetryingClient",
name: str,
entity: str,
prioritization_mode: Optional[RunQueuePrioritizationMode] = None,
_access: Optional[RunQueueAccessType] = None,
_default_resource_config_id: Optional[int] = None,
_default_resource_config: Optional[dict] = None
) -> None
Attributes |
|
items |
처음 100개의 대기열에 있는 run. 이 목록을 수정해도 대기열 또는 대기열에 있는 항목은 수정되지 않습니다! |
Methods
create
View source
@classmethod
create(
name: str,
resource: "RunQueueResourceType",
entity: Optional[str] = None,
prioritization_mode: Optional['RunQueuePrioritizationMode'] = None,
config: Optional[dict] = None,
template_variables: Optional[dict] = None
) -> "RunQueue"
delete
View source
wandb 백엔드에서 run 대기열을 삭제합니다.
6.10 - Runs
프로젝트 및 선택적 필터와 연결된 runs의 반복 가능한 컬렉션입니다.
Runs(
client: "RetryingClient",
entity: str,
project: str,
filters: Optional[Dict[str, Any]] = None,
order: Optional[str] = None,
per_page: int = 50,
include_sweeps: bool = (True)
)
일반적으로 Api
.runs 메소드를 통해 간접적으로 사용됩니다.
메소드
convert_objects
소스 보기
histories
소스 보기
histories(
samples: int = 500,
keys: Optional[List[str]] = None,
x_axis: str = "_step",
format: Literal['default', 'pandas', 'polars'] = "default",
stream: Literal['default', 'system'] = "default"
)
필터 조건에 맞는 모든 runs에 대해 샘플링된 히스토리 메트릭을 반환합니다.
Args |
|
samples |
(int, optional) run 당 반환할 샘플 수 |
keys |
(list[str], optional) 특정 키에 대한 메트릭만 반환 |
x_axis |
(str, optional) 이 메트릭을 xAxis로 사용, 기본값은 _step |
format |
(Literal, optional) 데이터를 반환할 형식, 옵션은 “default”, “pandas”, “polars” |
stream |
(Literal, optional) 메트릭의 경우 “default”, 머신 메트릭의 경우 “system” |
반환 값 |
|
pandas.DataFrame |
format=“pandas"인 경우, 히스토리 메트릭의 pandas.DataFrame 을 반환합니다. |
polars.DataFrame |
format=“polars"인 경우, 히스토리 메트릭의 polars.DataFrame 을 반환합니다. list of dicts: format=“default"인 경우, run_id 키가 있는 히스토리 메트릭을 포함하는 dicts 목록을 반환합니다. |
next
소스 보기
update_variables
소스 보기
__getitem__
소스 보기
__iter__
소스 보기
__len__
소스 보기
6.11 - Sweep
스윕과 관련된 run들의 집합입니다.
Sweep(
client, entity, project, sweep_id, attrs=None
)
예시:
다음과 같이 인스턴스화합니다:
api = wandb.Api()
sweep = api.sweep(path / to / sweep)
속성 |
|
runs |
(Runs ) run들의 목록 |
id |
(str) 스윕 ID |
project |
(str) 프로젝트 이름 |
config |
(str) 스윕 구성의 사전 |
state |
(str) 스윕의 상태 |
expected_run_count |
(int) 스윕에 예상되는 run의 수 |
메소드
best_run
소스 보기
구성에서 정의된 메트릭 또는 전달된 순서에 따라 정렬된 최상의 run을 반환합니다.
display
소스 보기
display(
height=420, hidden=(False)
) -> bool
이 오브젝트를 jupyter에 표시합니다.
get
소스 보기
@classmethod
get(
client, entity=None, project=None, sid=None, order=None, query=None, **kwargs
)
클라우드 백엔드에 대해 쿼리를 실행합니다.
load
소스 보기
load(
force: bool = (False)
)
snake_to_camel
소스 보기
to_html
소스 보기
to_html(
height=420, hidden=(False)
)
이 스윕을 표시하는 iframe을 포함하는 HTML을 생성합니다.
클래스 변수 |
|
LEGACY_QUERY |
|
QUERY |
|
7 - init
새로운 run을 시작하여 W&B에 추적하고 기록합니다.
init(
entity: (str | None) = None,
project: (str | None) = None,
dir: (StrPath | None) = None,
id: (str | None) = None,
name: (str | None) = None,
notes: (str | None) = None,
tags: (Sequence[str] | None) = None,
config: (dict[str, Any] | str | None) = None,
config_exclude_keys: (list[str] | None) = None,
config_include_keys: (list[str] | None) = None,
allow_val_change: (bool | None) = None,
group: (str | None) = None,
job_type: (str | None) = None,
mode: (Literal['online', 'offline', 'disabled'] | None) = None,
force: (bool | None) = None,
anonymous: (Literal['never', 'allow', 'must'] | None) = None,
reinit: (bool | None) = None,
resume: (bool | Literal['allow', 'never', 'must', 'auto'] | None) = None,
resume_from: (str | None) = None,
fork_from: (str | None) = None,
save_code: (bool | None) = None,
tensorboard: (bool | None) = None,
sync_tensorboard: (bool | None) = None,
monitor_gym: (bool | None) = None,
settings: (Settings | dict[str, Any] | None) = None
) -> Run
ML 트레이닝 파이프라인에서 트레이닝 스크립트의 시작 부분과 평가 스크립트에 wandb.init()
을 추가할 수 있으며, 각 부분은 W&B에서 run으로 추적됩니다.
wandb.init()
은 run에 데이터를 기록하기 위해 새로운 백그라운드 프로세스를 생성하며 기본적으로 데이터를 https://wandb.ai 에 동기화하므로 결과를 실시간으로 확인할 수 있습니다.
wandb.log()
로 데이터를 기록하기 전에 wandb.init()
을 호출하여 run을 시작합니다. 데이터 로깅이 완료되면 wandb.finish()
를 호출하여 run을 종료합니다. wandb.finish()
를 호출하지 않으면 스크립트가 종료될 때 run이 종료됩니다.
자세한 예제를 포함하여 wandb.init()
사용에 대한 자세한 내용은 가이드 및 FAQ를 확인하십시오.
예시:
entity 및 project를 명시적으로 설정하고 run 이름을 선택합니다.
import wandb
run = wandb.init(
entity="geoff",
project="capsules",
name="experiment-2021-10-31",
)
# ... 여기에 트레이닝 코드 작성 ...
run.finish()
config
인수를 사용하여 run에 대한 메타데이터를 추가합니다.
import wandb
config = {"lr": 0.01, "batch_size": 32}
with wandb.init(config=config) as run:
run.config.update({"architecture": "resnet", "depth": 34})
# ... 여기에 트레이닝 코드 작성 ...
wandb.init()
을 컨텍스트 관리자로 사용하여 블록 끝에서 자동으로 wandb.finish()
를 호출할 수 있습니다.
인수 |
|
entity |
run이 기록될 사용자 이름 또는 팀 이름입니다. entity는 이미 존재해야 하므로 run 로깅을 시작하기 전에 UI에서 계정 또는 팀을 생성했는지 확인하십시오. 지정하지 않으면 run은 기본 entity로 기본 설정됩니다. 기본 entity를 변경하려면 설정으로 이동하여 “기본 팀"에서 “새 프로젝트를 만들 기본 위치"를 업데이트하십시오. |
project |
이 run이 기록될 project의 이름입니다. 지정하지 않으면 git 루트 또는 현재 프로그램 파일 확인과 같이 시스템을 기반으로 프로젝트 이름을 추론하기 위한 경험적 방법을 사용합니다. 프로젝트 이름을 추론할 수 없으면 프로젝트는 기본적으로 "uncategorized" 로 설정됩니다. |
dir |
실험 로그 및 메타데이터 파일이 저장되는 디렉토리의 절대 경로입니다. 지정하지 않으면 기본적으로 ./wandb 디렉토리가 됩니다. 이는 download() 를 호출할 때 Artifacts가 저장되는 위치에 영향을 미치지 않습니다. |
id |
다시 시작하는 데 사용되는 이 run에 대한 고유 식별자입니다. project 내에서 고유해야 하며 run이 삭제되면 다시 사용할 수 없습니다. 식별자는 다음 특수 문자 / \ # ? % : 를 포함해서는 안 됩니다. 짧은 설명 이름은 name 필드를 사용하고, run 간에 비교할 하이퍼파라미터를 저장하려면 config 를 사용합니다. |
name |
UI에서 식별하는 데 도움이 되는 이 run의 짧은 표시 이름입니다. 기본적으로 테이블에서 차트로의 쉬운 상호 참조 run을 허용하는 임의의 두 단어 이름을 생성합니다. 이러한 run 이름을 간결하게 유지하면 차트 범례 및 테이블에서 가독성이 향상됩니다. 하이퍼파라미터를 저장하려면 config 필드를 사용하는 것이 좋습니다. |
notes |
Git의 커밋 메시지와 유사한 run에 대한 자세한 설명입니다. 이 인수를 사용하여 나중에 이 run의 목적이나 설정을 기억하는 데 도움이 될 수 있는 컨텍스트 또는 세부 정보를 캡처하십시오. |
tags |
UI에서 이 run에 레이블을 지정하는 태그 목록입니다. 태그는 run을 구성하거나 “베이스라인” 또는 “프로덕션"과 같은 임시 식별자를 추가하는 데 유용합니다. UI에서 태그를 쉽게 추가, 제거 또는 필터링할 수 있습니다. run을 다시 시작하는 경우 여기에 제공된 태그는 기존 태그를 대체합니다. 현재 태그를 덮어쓰지 않고 다시 시작된 run에 태그를 추가하려면 run = wandb.init() 을 호출한 후 run.tags += ["new_tag"] 를 사용하십시오. |
config |
모델 하이퍼파라미터 또는 데이터 전처리 설정과 같이 run에 대한 입력 파라미터를 저장하기 위한 딕셔너리와 유사한 오브젝트인 wandb.config 를 설정합니다. config는 UI의 개요 페이지에 나타나 이러한 파라미터를 기반으로 run을 그룹화, 필터링 및 정렬할 수 있습니다. 키는 마침표(. )를 포함해서는 안 되며 값은 10MB보다 작아야 합니다. 딕셔너리, argparse.Namespace 또는 absl.flags.FLAGS 가 제공되면 키-값 쌍이 wandb.config 에 직접 로드됩니다. 문자열이 제공되면 구성 값이 wandb.config 에 로드될 YAML 파일의 경로로 해석됩니다. |
config_exclude_keys |
wandb.config 에서 제외할 특정 키 목록입니다. |
config_include_keys |
wandb.config 에 포함할 특정 키 목록입니다. |
allow_val_change |
config 값을 처음 설정한 후 수정할 수 있는지 여부를 제어합니다. 기본적으로 config 값이 덮어쓰여지면 예외가 발생합니다. 학습률과 같이 트레이닝 중에 변경되는 변수를 추적하려면 wandb.log() 를 대신 사용하는 것이 좋습니다. 기본적으로 스크립트에서는 False 이고 노트북 환경에서는 True 입니다. |
group |
더 큰 실험의 일부로 개별 run을 구성하기 위한 그룹 이름을 지정합니다. 이는 교차 검증 또는 서로 다른 테스트 세트에서 모델을 트레이닝하고 평가하는 여러 job을 실행하는 경우에 유용합니다. 그룹화를 통해 UI에서 관련 run을 집합적으로 관리할 수 있으므로 통합된 실험으로 결과를 쉽게 전환하고 검토할 수 있습니다. 자세한 내용은 run 그룹화 가이드를 참조하십시오. |
job_type |
더 큰 실험의 일부로 그룹 내에서 run을 구성할 때 특히 유용한 run 유형을 지정합니다. 예를 들어 그룹에서 “train” 및 “eval"과 같은 job 유형으로 run에 레이블을 지정할 수 있습니다. job 유형을 정의하면 UI에서 유사한 run을 쉽게 필터링하고 그룹화하여 직접 비교할 수 있습니다. |
mode |
run 데이터가 관리되는 방식을 지정합니다. 다음 옵션을 사용할 수 있습니다. - "online" (기본값): 네트워크 연결이 가능할 때 W&B와의 실시간 동기화를 활성화하여 시각화에 대한 실시간 업데이트를 제공합니다. - "offline" : 에어 갭 또는 오프라인 환경에 적합합니다. 데이터는 로컬에 저장되며 나중에 동기화할 수 있습니다. 나중에 동기화할 수 있도록 run 폴더가 보존되었는지 확인하십시오. - "disabled" : 모든 W&B 기능을 비활성화하여 run의 메소드를 작동하지 않도록 합니다. 일반적으로 W&B 작업을 우회하기 위해 테스트에 사용됩니다. |
force |
스크립트를 실행하는 데 W&B 로그인이 필요한지 여부를 결정합니다. True 이면 사용자가 W&B에 로그인해야 합니다. 그렇지 않으면 스크립트가 진행되지 않습니다. False (기본값)이면 사용자가 로그인하지 않은 경우 오프라인 모드로 전환하여 스크립트를 로그인 없이 진행할 수 있습니다. |
anonymous |
익명 데이터 로깅에 대한 제어 수준을 지정합니다. 사용 가능한 옵션은 다음과 같습니다. - "never" (기본값): run을 추적하기 전에 W&B 계정을 연결해야 합니다. 이렇게 하면 각 run이 계정과 연결되도록 하여 의도치 않은 익명 run 생성을 방지할 수 있습니다. - "allow" : 로그인한 사용자가 자신의 계정으로 run을 추적할 수 있지만 W&B 계정 없이 스크립트를 실행하는 사용자가 UI에서 차트와 데이터를 볼 수 있도록 허용합니다. - "must" : 사용자가 로그인했더라도 run을 익명 계정에 강제로 기록합니다. |
reinit |
동일한 프로세스 내에서 여러 wandb.init() 호출이 새 run을 시작할 수 있는지 여부를 결정합니다. 기본적으로(False ) 활성 run이 있는 경우 wandb.init() 을 호출하면 새 run을 만드는 대신 기존 run이 반환됩니다. reinit=True 이면 새 run이 초기화되기 전에 활성 run이 완료됩니다. 노트북 환경에서는 reinit 이 명시적으로 False 로 설정되지 않은 경우 기본적으로 run이 다시 초기화됩니다. |
resume |
지정된 id 로 run을 다시 시작할 때의 동작을 제어합니다. 사용 가능한 옵션은 다음과 같습니다. - "allow" : 지정된 id 를 가진 run이 있으면 마지막 단계부터 다시 시작됩니다. 그렇지 않으면 새 run이 생성됩니다. - "never" : 지정된 id 를 가진 run이 있으면 오류가 발생합니다. 그러한 run이 없으면 새 run이 생성됩니다. - "must" : 지정된 id 를 가진 run이 있으면 마지막 단계부터 다시 시작됩니다. run이 없으면 오류가 발생합니다. - "auto" : 이 머신에서 이전 run이 충돌한 경우 자동으로 다시 시작합니다. 그렇지 않으면 새 run을 시작합니다. - True : 더 이상 사용되지 않습니다. 대신 "auto" 를 사용하십시오. - False : 더 이상 사용되지 않습니다. 항상 새 run을 시작하려면 기본 동작( resume 를 설정하지 않은 상태로 둠)을 사용하십시오. 참고: resume 이 설정된 경우 fork_from 및 resume_from 을 사용할 수 없습니다. resume 이 설정되지 않은 경우 시스템은 항상 새 run을 시작합니다. 자세한 내용은 run 다시 시작 가이드를 참조하십시오. |
resume_from |
{run_id}?_step={step} 형식을 사용하여 이전 run에서 run을 다시 시작할 시점을 지정합니다. 이를 통해 사용자는 중간 단계에서 run에 기록된 기록을 자르고 해당 단계부터 로깅을 다시 시작할 수 있습니다. 대상 run은 동일한 project에 있어야 합니다. id 인수가 함께 제공되면 resume_from 인수가 우선합니다. resume , resume_from 및 fork_from 은 함께 사용할 수 없으며, 셋 중 하나만 한 번에 사용할 수 있습니다. 참고: 이 기능은 베타 버전이며 향후 변경될 수 있습니다. |
fork_from |
{id}?_step={step} 형식을 사용하여 이전 run에서 새 run을 포크할 시점을 지정합니다. 이렇게 하면 대상 run 기록의 지정된 단계에서 로깅을 다시 시작하는 새 run이 생성됩니다. 대상 run은 현재 프로젝트의 일부여야 합니다. id 인수가 함께 제공되면 fork_from 인수와 달라야 합니다. 동일하면 오류가 발생합니다. resume , resume_from 및 fork_from 은 함께 사용할 수 없으며, 셋 중 하나만 한 번에 사용할 수 있습니다. 참고: 이 기능은 베타 버전이며 향후 변경될 수 있습니다. |
save_code |
실험 재현성을 지원하고 UI에서 run 간에 코드 비교를 허용하여 기본 스크립트 또는 노트북을 W&B에 저장할 수 있습니다. 기본적으로 이 기능은 비활성화되어 있지만 설정 페이지에서 기본값을 변경하여 활성화할 수 있습니다. |
tensorboard |
더 이상 사용되지 않습니다. 대신 sync_tensorboard 를 사용하십시오. |
sync_tensorboard |
TensorBoard 또는 TensorBoardX에서 W&B 로그의 자동 동기화를 활성화하여 W&B UI에서 볼 수 있도록 관련 이벤트 파일을 저장합니다. W&B UI에서 볼 수 있도록 관련 이벤트 파일을 저장합니다. (기본값: False ) |
monitor_gym |
OpenAI Gym을 사용할 때 환경 비디오의 자동 로깅을 활성화합니다. 자세한 내용은 gym 인테그레이션 가이드를 참조하십시오. |
settings |
run에 대한 고급 설정이 포함된 딕셔너리 또는 wandb.Settings 오브젝트를 지정합니다. |
반환 |
|
현재 run에 대한 핸들인 Run 오브젝트입니다. 이 오브젝트를 사용하여 데이터 로깅, 파일 저장 및 run 완료와 같은 작업을 수행합니다. 자세한 내용은 Run API를 참조하십시오. |
|
발생 |
|
Error |
run 초기화 중에 알려지지 않거나 내부 오류가 발생한 경우. |
AuthenticationError |
사용자가 유효한 자격 증명을 제공하지 못한 경우. |
CommError |
W&B 서버와 통신하는 데 문제가 있는 경우. |
UsageError |
사용자가 함수에 유효하지 않은 인수를 제공한 경우. |
KeyboardInterrupt |
사용자가 run 초기화 프로세스를 중단한 경우. 사용자가 run 초기화 프로세스를 중단한 경우. |
8 - Integrations
모듈
keras
모듈: wandb
를 Keras
와 통합하기 위한 툴입니다.
8.1 - keras
wandb
를 Keras
와 통합하기 위한 툴
클래스
class WandbCallback
: WandbCallback
은 자동으로 keras를 wandb와 통합합니다.
class WandbEvalCallback
: 모델 예측 시각화를 위한 Keras 콜백을 구축하기 위한 추상 베이스 클래스입니다.
class WandbMetricsLogger
: 시스템 메트릭을 W&B로 보내는 로거입니다.
class WandbModelCheckpoint
: Keras 모델 또는 모델 가중치를 주기적으로 저장하는 체크포인트입니다.
8.1.1 - WandbCallback
WandbCallback
은 keras를 wandb와 자동으로 통합합니다.
WandbCallback(
monitor="val_loss", verbose=0, mode="auto", save_weights_only=(False),
log_weights=(False), log_gradients=(False), save_model=(True),
training_data=None, validation_data=None, labels=None, predictions=36,
generator=None, input_type=None, output_type=None, log_evaluation=(False),
validation_steps=None, class_colors=None, log_batch_frequency=None,
log_best_prefix="best_", save_graph=(True), validation_indexes=None,
validation_row_processor=None, prediction_row_processor=None,
infer_missing_processors=(True), log_evaluation_frequency=0,
compute_flops=(False), **kwargs
)
예시:
model.fit(
X_train,
y_train,
validation_data=(X_test, y_test),
callbacks=[WandbCallback()],
)
WandbCallback
은 keras에서 수집한 모든 메트릭에서 히스토리 데이터를 자동으로 로깅합니다. 손실 및 keras_model.compile()
에 전달된 모든 것.
WandbCallback
은 “최고” 트레이닝 단계와 관련된 run에 대한 요약 메트릭을 설정합니다.
여기서 “최고"는 monitor
및 mode
속성에 의해 정의됩니다. 이것은 기본적으로 최소 val_loss
를 갖는 에포크입니다. WandbCallback
은 기본적으로 최고의 epoch
와 관련된 모델을 저장합니다.
WandbCallback
은 선택적으로 그레이디언트 및 파라미터 히스토그램을 로깅할 수 있습니다.
WandbCallback
은 시각화를 위해 트레이닝 및 검증 데이터를 wandb에 선택적으로 저장할 수 있습니다.
Args |
|
monitor |
(str) 모니터링할 메트릭 이름. 기본값은 val_loss 입니다. |
mode |
(str) {auto , min , max } 중 하나입니다. min - 모니터가 최소화될 때 모델 저장 max - 모니터가 최대화될 때 모델 저장 auto - 모델을 저장할 시기를 추측하려고 시도합니다(기본값). |
save_model |
True - 모니터가 이전의 모든 에포크보다 좋을 때 모델을 저장합니다. False - 모델을 저장하지 않습니다. |
save_graph |
(boolean) True인 경우 모델 그래프를 wandb에 저장합니다 (기본값은 True). |
save_weights_only |
(boolean) True인 경우 모델의 가중치만 저장됩니다 (model.save_weights(filepath) ), 그렇지 않으면 전체 모델이 저장됩니다 (model.save(filepath) ). |
log_weights |
(boolean) True인 경우 모델 레이어 가중치의 히스토그램을 저장합니다. |
log_gradients |
(boolean) True인 경우 트레이닝 그레이디언트의 히스토그램을 로깅합니다. |
training_data |
model.fit 에 전달된 것과 동일한 형식 (X,y) 입니다. 이것은 그레이디언트를 계산하는 데 필요합니다. log_gradients 가 True 인 경우 필수입니다. |
validation_data |
model.fit 에 전달된 것과 동일한 형식 (X,y) 입니다. wandb가 시각화할 데이터 세트입니다. 이것이 설정되면 매 에포크마다 wandb는 적은 수의 예측값을 만들고 나중에 시각화할 수 있도록 결과를 저장합니다. 이미지 데이터를 사용하는 경우 올바르게 로깅하려면 input_type 및 output_type 도 설정하십시오. |
generator |
wandb가 시각화할 검증 데이터를 반환하는 제너레이터입니다. 이 제너레이터는 튜플 (X,y) 를 반환해야 합니다. wandb가 특정 데이터 예제를 시각화하려면 validate_data 또는 제너레이터를 설정해야 합니다. 이미지 데이터를 사용하는 경우 올바르게 로깅하려면 input_type 및 output_type 도 설정하십시오. |
validation_steps |
validation_data 가 제너레이터인 경우 전체 검증 세트에 대해 제너레이터를 실행할 단계 수입니다. |
labels |
wandb로 데이터를 시각화하는 경우 이 레이블 목록은 다중 클래스 분류기를 구축하는 경우 숫자 출력을 이해 가능한 문자열로 변환합니다. 이진 분류기를 만드는 경우 두 개의 레이블 목록 [“false에 대한 레이블”, “true에 대한 레이블”]을 전달할 수 있습니다. validate_data 와 제너레이터가 모두 false인 경우 아무 작업도 수행하지 않습니다. |
predictions |
각 에포크에서 시각화를 위해 만들 예측 수이며 최대값은 100입니다. |
input_type |
시각화를 돕기 위한 모델 입력 유형입니다. 다음 중 하나일 수 있습니다. (image , images , segmentation_mask , auto ). |
output_type |
시각화를 돕기 위한 모델 출력 유형입니다. 다음 중 하나일 수 있습니다. (image , images , segmentation_mask , label ). |
log_evaluation |
True인 경우 각 에포크에서 검증 데이터와 모델의 예측값을 포함하는 Table을 저장합니다. 자세한 내용은 validation_indexes , validation_row_processor 및 output_row_processor 를 참조하십시오. |
class_colors |
입력 또는 출력이 세분화 마스크인 경우 각 클래스에 대한 rgb 튜플(범위 0-1)을 포함하는 배열입니다. |
log_batch_frequency |
None인 경우 콜백은 모든 에포크를 로깅합니다. 정수로 설정하면 콜백은 log_batch_frequency 배치마다 트레이닝 메트릭을 로깅합니다. |
log_best_prefix |
None인 경우 추가 요약 메트릭이 저장되지 않습니다. 문자열로 설정하면 모니터링되는 메트릭과 에포크가 이 값으로 시작하여 요약 메트릭으로 저장됩니다. |
validation_indexes |
각 검증 예제와 연결할 인덱스 키의 정렬된 목록입니다. log_evaluation이 True이고 validation_indexes 가 제공되면 검증 데이터의 Table이 생성되지 않고 대신 각 예측이 TableLinkMixin 으로 표시되는 행과 연결됩니다. 이러한 키를 얻는 가장 일반적인 방법은 행 키 목록을 반환하는 Table.get_index() 를 사용하는 것입니다. |
validation_row_processor |
검증 데이터에 적용할 함수로, 일반적으로 데이터를 시각화하는 데 사용됩니다. 함수는 ndx (int)와 row (dict)를 받습니다. 모델에 단일 입력이 있는 경우 row["input"] 은 행에 대한 입력 데이터가 됩니다. 그렇지 않으면 입력 슬롯의 이름을 기반으로 키가 지정됩니다. 적합 함수가 단일 대상을 사용하는 경우 row["target"] 은 행에 대한 대상 데이터가 됩니다. 그렇지 않으면 출력 슬롯의 이름을 기반으로 키가 지정됩니다. 예를 들어 입력 데이터가 단일 ndarray이지만 데이터를 이미지로 시각화하려는 경우 lambda ndx, row: {"img": wandb.Image(row["input"])} 를 프로세서로 제공할 수 있습니다. log_evaluation이 False이거나 validation_indexes 가 있는 경우 무시됩니다. |
output_row_processor |
validation_row_processor 와 동일하지만 모델의 출력에 적용됩니다. row["output"] 에는 모델 출력 결과가 포함됩니다. |
infer_missing_processors |
누락된 경우 validation_row_processor 및 output_row_processor 를 추론해야 하는지 여부를 결정합니다. 기본값은 True입니다. labels 가 제공되면 적절한 분류 유형 프로세서를 추론하려고 시도합니다. |
log_evaluation_frequency |
평가 결과를 로깅할 빈도를 결정합니다. 기본값은 0입니다(트레이닝 종료 시에만). 모든 에포크를 로깅하려면 1로 설정하고, 다른 모든 에포크를 로깅하려면 2로 설정하는 식입니다. log_evaluation이 False인 경우에는 효과가 없습니다. |
compute_flops |
Keras Sequential 또는 Functional 모델의 FLOP 수를 GigaFLOPs 단위로 계산합니다. |
Methods
get_flops
View source
추론 모드에서 tf.keras.Model 또는 tf.keras.Sequential 모델에 대한 FLOPS [GFLOPs]를 계산합니다.
내부적으로 tf.compat.v1.profiler를 사용합니다.
set_model
View source
set_params
View source
8.1.2 - WandbEvalCallback
모델 예측 시각화를 위한 Keras 콜백을 빌드하는 추상 기본 클래스입니다.
WandbEvalCallback(
data_table_columns: List[str],
pred_table_columns: List[str],
*args,
**kwargs
) -> None
분류, 오브젝트 검출, 분할 등 작업을 위해 model.fit()
에 전달될 수 있는 on_epoch_end
에서 모델 예측을 시각화하기 위한 콜백을 빌드할 수 있습니다.
이를 사용하려면 이 기본 콜백 클래스에서 상속받아 add_ground_truth
및 add_model_prediction
메소드를 구현합니다.
기본 클래스는 다음 사항을 처리합니다.
- 그라운드 트루스 로깅을 위한
data_table
및 예측을 위한 pred_table
을 초기화합니다.
data_table
에 업로드된 데이터는 pred_table
에 대한 참조로 사용됩니다. 이는 메모리 공간을 줄이기 위함입니다. data_table_ref
는 참조된 데이터에 액세스하는 데 사용할 수 있는 목록입니다. 아래 예제를 통해 수행 방법을 확인하십시오.
- 테이블을 W&B Artifacts로 W&B에 로그합니다.
- 각 새
pred_table
은 에일리어스와 함께 새 버전으로 로그됩니다.
예시:
class WandbClfEvalCallback(WandbEvalCallback):
def __init__(self, validation_data, data_table_columns, pred_table_columns):
super().__init__(data_table_columns, pred_table_columns)
self.x = validation_data[0]
self.y = validation_data[1]
def add_ground_truth(self):
for idx, (image, label) in enumerate(zip(self.x, self.y)):
self.data_table.add_data(idx, wandb.Image(image), label)
def add_model_predictions(self, epoch):
preds = self.model.predict(self.x, verbose=0)
preds = tf.argmax(preds, axis=-1)
data_table_ref = self.data_table_ref
table_idxs = data_table_ref.get_index()
for idx in table_idxs:
pred = preds[idx]
self.pred_table.add_data(
epoch,
data_table_ref.data[idx][0],
data_table_ref.data[idx][1],
data_table_ref.data[idx][2],
pred,
)
model.fit(
x,
y,
epochs=2,
validation_data=(x, y),
callbacks=[
WandbClfEvalCallback(
validation_data=(x, y),
data_table_columns=["idx", "image", "label"],
pred_table_columns=["epoch", "idx", "image", "label", "pred"],
)
],
)
보다 세분화된 제어를 위해 on_train_begin
및 on_epoch_end
메소드를 재정의할 수 있습니다. N개 배치 후 샘플을 기록하려면 on_train_batch_end
메소드를 구현하면 됩니다.
Methods
add_ground_truth
View source
@abc.abstractmethod
add_ground_truth(
logs: Optional[Dict[str, float]] = None
) -> None
그라운드 트루스 데이터를 data_table
에 추가합니다.
이 메소드를 사용하여 init_data_table
메소드를 사용하여 초기화된 data_table
에 유효성 검사/트레이닝 데이터를 추가하는 로직을 작성합니다.
예시:
for idx, data in enumerate(dataloader):
self.data_table.add_data(idx, data)
이 메소드는 on_train_begin
또는 이와 동등한 훅에서 한 번 호출됩니다.
add_model_predictions
View source
@abc.abstractmethod
add_model_predictions(
epoch: int,
logs: Optional[Dict[str, float]] = None
) -> None
모델의 예측값을 pred_table
에 추가합니다.
이 메소드를 사용하여 init_pred_table
메소드를 사용하여 초기화된 pred_table
에 대한 유효성 검사/트레이닝 데이터에 대한 모델 예측을 추가하는 로직을 작성합니다.
예시:
# 데이터 로더가 샘플을 섞지 않는다고 가정합니다.
for idx, data in enumerate(dataloader):
preds = model.predict(data)
self.pred_table.add_data(
self.data_table_ref.data[idx][0],
self.data_table_ref.data[idx][1],
preds,
)
이 메소드는 on_epoch_end
또는 이와 동등한 훅에서 호출됩니다.
init_data_table
View source
init_data_table(
column_names: List[str]
) -> None
유효성 검사 데이터를 위한 W&B Tables를 초기화합니다.
이 메소드를 on_train_begin
또는 이와 동등한 훅에서 호출합니다. 그 뒤에 테이블 행 또는 열 단위로 데이터를 추가합니다.
Args |
|
column_names |
(list) W&B Tables의 열 이름입니다. |
init_pred_table
View source
init_pred_table(
column_names: List[str]
) -> None
모델 평가를 위한 W&B Tables를 초기화합니다.
이 메소드를 on_epoch_end
또는 이와 동등한 훅에서 호출합니다. 그 뒤에 테이블 행 또는 열 단위로 데이터를 추가합니다.
Args |
|
column_names |
(list) W&B Tables의 열 이름입니다. |
log_data_table
View source
log_data_table(
name: str = "val",
type: str = "dataset",
table_name: str = "val_data"
) -> None
data_table
을 W&B 아티팩트로 기록하고 그에 대해 use_artifact
를 호출합니다.
이를 통해 평가 테이블은 이미 업로드된 데이터(이미지, 텍스트, 스칼라 등)의 참조를 다시 업로드하지 않고 사용할 수 있습니다.
Args |
|
name |
(str) 이 Artifacts에 대한 사람이 읽을 수 있는 이름입니다. UI에서 이 Artifacts를 식별하거나 use_artifact 호출에서 참조하는 방법입니다. (기본값은 ‘val’) |
type |
(str) Artifacts의 유형으로, Artifacts를 구성하고 차별화하는 데 사용됩니다. (기본값은 ‘dataset’) |
table_name |
(str) UI에 표시될 테이블의 이름입니다. (기본값은 ‘val_data’) |
log_pred_table
View source
log_pred_table(
type: str = "evaluation",
table_name: str = "eval_data",
aliases: Optional[List[str]] = None
) -> None
모델 평가를 위한 W&B Tables를 기록합니다.
테이블은 새 버전을 생성하여 여러 번 기록됩니다. 이를 사용하여 다른 간격으로 모델을 대화식으로 비교합니다.
Args |
|
type |
(str) Artifacts의 유형으로, Artifacts를 구성하고 차별화하는 데 사용됩니다. (기본값은 ’evaluation') |
table_name |
(str) UI에 표시될 테이블의 이름입니다. (기본값은 ’eval_data') |
aliases |
(List[str]) 예측 테이블의 에일리어스 목록입니다. |
set_model
set_params
8.1.3 - WandbMetricsLogger
시스템 메트릭을 W&B에 보내는 로거입니다.
WandbMetricsLogger(
log_freq: Union[LogStrategy, int] = "epoch",
initial_global_step: int = 0,
*args,
**kwargs
) -> None
WandbMetricsLogger
는 콜백 메소드가 인수로 사용하는 logs
사전을 자동으로 wandb에 기록합니다.
이 콜백은 다음을 W&B run 페이지에 자동으로 기록합니다.
- 시스템 (CPU/GPU/TPU) 메트릭,
model.compile
에 정의된 트레이닝 및 유효성 검사 메트릭,
- 학습률 (고정 값 및 학습률 스케줄러 모두)
참고 사항:
initial_epoch
를 model.fit
에 전달하여 트레이닝을 재개하고 학습률 스케줄러를 사용하는 경우, initial_global_step
을 WandbMetricsLogger
에 전달해야 합니다. initial_global_step
은 step_size * initial_step
입니다. 여기서 step_size
는 에포크당 트레이닝 단계 수입니다. step_size
는 트레이닝 데이터셋의 Cardinality와 배치 크기의 곱으로 계산할 수 있습니다.
Args |
|
log_freq |
(“epoch”, “batch”, 또는 int) “epoch"인 경우 각 에포크가 끝날 때 메트릭을 기록합니다. “batch"인 경우 각 배치 끝날 때 메트릭을 기록합니다. 정수인 경우 해당 배치 수만큼 끝날 때 메트릭을 기록합니다. 기본값은 “epoch"입니다. |
initial_global_step |
(int) initial_epoch 에서 트레이닝을 재개하고 학습률 스케줄러를 사용하는 경우 학습률을 올바르게 기록하려면 이 인수를 사용하십시오. step_size * initial_step 으로 계산할 수 있습니다. 기본값은 0입니다. |
Methods
set_model
set_params
8.1.4 - WandbModelCheckpoint
주기적으로 Keras 모델 또는 모델 가중치를 저장하는 체크포인트입니다.
WandbModelCheckpoint(
filepath: StrPath,
monitor: str = "val_loss",
verbose: int = 0,
save_best_only: bool = (False),
save_weights_only: bool = (False),
mode: Mode = "auto",
save_freq: Union[SaveStrategy, int] = "epoch",
initial_value_threshold: Optional[float] = None,
**kwargs
) -> None
저장된 가중치는 wandb.Artifact
로 W&B에 업로드됩니다.
이 콜백은 tf.keras.callbacks.ModelCheckpoint
의 서브클래스이므로 체크포인트 로직은 상위 콜백에서 처리합니다. 자세한 내용은 https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ModelCheckpoint 에서 확인할 수 있습니다.
이 콜백은 model.fit()
을 사용한 트레이닝과 함께 사용하여 특정 간격으로 모델 또는 가중치 (체크포인트 파일)를 저장합니다. 모델 체크포인트는 W&B Artifacts 로 기록됩니다. 자세한 내용은 https://docs.wandb.ai/guides/artifacts 에서 확인할 수 있습니다.
이 콜백은 다음과 같은 기능을 제공합니다.
- “monitor"를 기반으로 “최고 성능"을 달성한 모델을 저장합니다.
- 성능에 관계없이 모든 에포크가 끝날 때마다 모델을 저장합니다.
- 에포크가 끝날 때 또는 고정된 수의 트레이닝 배치 후에 모델을 저장합니다.
- 모델 가중치만 저장하거나 전체 모델을 저장합니다.
- SavedModel 형식 또는
.h5
형식으로 모델을 저장합니다.
Args |
|
filepath |
(Union[str, os.PathLike]) 모델 파일을 저장할 경로입니다. filepath 에는 epoch 의 값과 logs 의 키 ( on_epoch_end 에 전달됨)로 채워지는 명명된 형식 옵션이 포함될 수 있습니다. 예를 들어 filepath 가 model-{epoch:02d}-{val_loss:.2f} 이면 모델 체크포인트는 에포크 번호와 파일 이름의 유효성 검사 손실과 함께 저장됩니다. |
monitor |
(str) 모니터링할 메트릭 이름입니다. 기본값은 “val_loss"입니다. |
verbose |
(int) 상세 모드, 0 또는 1입니다. 모드 0은 자동, 모드 1은 콜백이 작업을 수행할 때 메시지를 표시합니다. |
save_best_only |
(bool) save_best_only=True 인 경우 모델이 “최고"로 간주될 때만 저장되고 모니터링되는 수량에 따라 최신 최고 모델이 덮어쓰여지지 않습니다. filepath 에 {epoch} 와 같은 형식 옵션이 포함되어 있지 않으면 filepath 는 각 새로운 더 나은 모델에 의해 로컬로 덮어쓰여집니다. 아티팩트로 기록된 모델은 여전히 올바른 monitor 와 연결됩니다. Artifacts 는 새로운 최고 모델이 발견되면 지속적으로 업로드되고 버전이 분리됩니다. |
save_weights_only |
(bool) True인 경우 모델의 가중치만 저장됩니다. |
mode |
(Mode) {‘auto’, ‘min’, ‘max’} 중 하나입니다. val_acc 의 경우 max 여야 하고 val_loss 의 경우 min 여야 합니다. |
save_freq |
(Union[SaveStrategy, int]) epoch 또는 정수입니다. 'epoch' 를 사용하면 콜백은 각 에포크 후에 모델을 저장합니다. 정수를 사용하면 콜백은 이 많은 배치가 끝날 때 모델을 저장합니다. val_acc 또는 val_loss 와 같은 유효성 검사 메트릭을 모니터링할 때 save_freq는 해당 메트릭이 에포크가 끝날 때만 사용할 수 있으므로 “epoch” 로 설정해야 합니다. |
initial_value_threshold |
(Optional[float]) 모니터링할 메트릭의 부동 소수점 초기 “최고” 값입니다. |
메소드
set_model
set_params
9 - launch-library
클래스
class LaunchAgent
: run queue에 주어진 run을 폴링하고 wandb Launch에 대한 run을 시작하는 Launch 에이전트 클래스입니다.
함수
launch(...)
: W&B Launch 실험을 시작합니다.
launch_add(...)
: 소스 URI, job 또는 docker_image를 사용하여 W&B Launch 실험을 대기열에 추가합니다.
9.1 - launch
W&B Launch 실험을 시작합니다.
launch(
api: Api,
job: Optional[str] = None,
entry_point: Optional[List[str]] = None,
version: Optional[str] = None,
name: Optional[str] = None,
resource: Optional[str] = None,
resource_args: Optional[Dict[str, Any]] = None,
project: Optional[str] = None,
entity: Optional[str] = None,
docker_image: Optional[str] = None,
config: Optional[Dict[str, Any]] = None,
synchronous: Optional[bool] = (True),
run_id: Optional[str] = None,
repository: Optional[str] = None
) -> AbstractRun
인자 |
|
job |
wandb.Job 에 대한 문자열 참조 (예: wandb/test/my-job:latest) |
api |
wandb.apis.internal 의 wandb Api 인스턴스입니다. |
entry_point |
프로젝트 내에서 실행할 엔트리 포인트입니다. wandb URI의 경우 원래 run에 사용된 엔트리 포인트를 사용하고, Git repository URI의 경우 main.py를 사용하는 것이 기본값입니다. |
version |
Git 기반 프로젝트의 경우 커밋 해시 또는 브랜치 이름입니다. |
name |
run을 시작할 run 이름입니다. |
resource |
run을 위한 실행 백엔드입니다. |
resource_args |
원격 백엔드에서 run을 시작하기 위한 리소스 관련 인자입니다. resource_args 아래 생성된 launch 설정에 저장됩니다. |
project |
시작된 run을 보낼 대상 프로젝트 |
entity |
시작된 run을 보낼 대상 엔티티 |
config |
run에 대한 설정을 포함하는 사전입니다. “resource_args” 키 아래에 리소스 특정 인자를 포함할 수도 있습니다. |
synchronous |
run이 완료될 때까지 기다리는 동안 차단할지 여부입니다. 기본값은 True입니다. synchronous 가 False이고 backend 가 “local-container"인 경우 이 메소드는 반환되지만 로컬 run이 완료될 때까지 현재 프로세스는 종료 시 차단됩니다. 현재 프로세스가 중단되면 이 메소드를 통해 시작된 모든 비동기 run이 종료됩니다. synchronous 가 True이고 run이 실패하면 현재 프로세스도 오류가 발생합니다. |
run_id |
run의 ID (:name: 필드를 궁극적으로 대체하기 위해) |
repository |
원격 레지스트리의 repository 경로의 문자열 이름 |
예시:
from wandb.sdk.launch import launch
job = "wandb/jobs/Hello World:latest"
params = {"epochs": 5}
# W&B 프로젝트를 실행하고 로컬 호스트에서 재현 가능한 도커 환경을 만듭니다.
api = wandb.apis.internal.Api()
launch(api, job, parameters=params)
반환 값 |
|
시작된 run에 대한 정보 (예: run ID)를 노출하는 wandb.launch.SubmittedRun 의 인스턴스입니다. |
|
예외 발생 |
|
wandb.exceptions.ExecutionError 차단 모드에서 시작된 run이 실패한 경우. |
|
9.2 - launch_add
W&B Launch 실험을 대기열에 추가합니다. source uri, job 또는 docker_image 중 하나를 사용합니다.
launch_add(
uri: Optional[str] = None,
job: Optional[str] = None,
config: Optional[Dict[str, Any]] = None,
template_variables: Optional[Dict[str, Union[float, int, str]]] = None,
project: Optional[str] = None,
entity: Optional[str] = None,
queue_name: Optional[str] = None,
resource: Optional[str] = None,
entry_point: Optional[List[str]] = None,
name: Optional[str] = None,
version: Optional[str] = None,
docker_image: Optional[str] = None,
project_queue: Optional[str] = None,
resource_args: Optional[Dict[str, Any]] = None,
run_id: Optional[str] = None,
build: Optional[bool] = (False),
repository: Optional[str] = None,
sweep_id: Optional[str] = None,
author: Optional[str] = None,
priority: Optional[int] = None
) -> "public.QueuedRun"
인Arguments수 |
|
uri |
실행할 실험의 URI. wandb run uri 또는 Git 저장소 URI입니다. |
job |
wandb.Job 에 대한 문자열 참조 (예: wandb/test/my-job:latest) |
config |
run에 대한 설정을 포함하는 사전입니다. “resource_args” 키 아래에 리소스 특정 인수를 포함할 수도 있습니다. |
template_variables |
run queue에 대한 템플릿 변수의 값을 포함하는 사전입니다. {"VAR_NAME": VAR_VALUE} 형식으로 예상됩니다. |
project |
실행된 run을 보낼 대상 project |
entity |
실행된 run을 보낼 대상 entity |
queue |
run을 대기열에 추가할 queue의 이름 |
priority |
작업의 우선순위 수준입니다. 1이 가장 높은 우선순위입니다. |
resource |
run에 대한 실행 백엔드: W&B는 “local-container” 백엔드에 대한 기본 지원을 제공합니다. |
entry_point |
project 내에서 실행할 entry point. wandb URI의 경우 원래 run에서 사용된 entry point를 사용하거나 git 저장소 URI의 경우 main.py를 기본적으로 사용합니다. |
name |
run을 시작할 run 이름입니다. |
version |
Git 기반 프로젝트의 경우 커밋 해시 또는 branch 이름입니다. |
docker_image |
run에 사용할 docker 이미지의 이름입니다. |
resource_args |
원격 백엔드에 run을 시작하기 위한 리소스 관련 인수입니다. resource_args 아래의 구성된 launch config에 저장됩니다. |
run_id |
시작된 run의 ID를 나타내는 선택적 문자열입니다. |
build |
선택적 플래그로 기본값은 false입니다. build인 경우 queue를 설정해야 합니다. 이미지가 생성되고 job Artifacts가 생성되며 해당 job Artifacts에 대한 참조가 queue로 푸시됩니다. |
repository |
이미지를 레지스트리로 푸시할 때 사용되는 원격 저장소의 이름을 제어하는 선택적 문자열입니다. |
project_queue |
queue에 대한 project 이름을 제어하는 선택적 문자열입니다. 주로 project 범위 queue와의 이전 버전과의 호환성에 사용됩니다. |
예제:
from wandb.sdk.launch import launch_add
project_uri = "https://github.com/wandb/examples"
params = {"alpha": 0.5, "l1_ratio": 0.01}
# W&B 프로젝트를 실행하고 로컬 호스트에서 재현 가능한 docker 환경을 만듭니다.
api = wandb.apis.internal.Api()
launch_add(uri=project_uri, parameters=params)
반환 값 |
|
queued run에 대한 정보를 제공하는 wandb.api.public.QueuedRun 인스턴스이거나, wait_until_started 또는 wait_until_finished 가 호출된 경우 기본 Run 정보에 대한 엑세스를 제공합니다. |
|
예외 |
|
실패한 경우 wandb.exceptions.LaunchError |
|
9.3 - LaunchAgent
run 큐를 폴링하고 wandb Launch에 대한 run을 시작하는 Launch 에이전트 클래스입니다.
LaunchAgent(
api: Api,
config: Dict[str, Any]
)
인수 |
|
api |
백엔드에 요청을 보내는 데 사용할 Api 오브젝트입니다. |
config |
에이전트의 구성 사전입니다. |
속성 |
|
num_running_jobs |
스케줄러를 포함하지 않는 작업 수를 반환합니다. |
num_running_schedulers |
스케줄러 수만 반환합니다. |
thread_ids |
에이전트에 대해 실행 중인 스레드 ID의 키 목록을 반환합니다. |
메소드
check_sweep_state
소스 보기
check_sweep_state(
launch_spec, api
)
스윕에 대한 run을 시작하기 전에 스윕의 상태를 확인합니다.
fail_run_queue_item
소스 보기
fail_run_queue_item(
run_queue_item_id, message, phase, files=None
)
finish_thread_id
소스 보기
finish_thread_id(
thread_id, exception=None
)
현재 작업 목록에서 작업을 제거합니다.
get_job_and_queue
소스 보기
initialized
소스 보기
@classmethod
initialized() -> bool
에이전트가 초기화되었는지 여부를 반환합니다.
loop
소스 보기
작업을 폴링하고 실행하기 위해 무한 루프합니다.
예외 |
|
KeyboardInterrupt |
에이전트가 중지 요청을 받은 경우 발생합니다. |
name
소스 보기
@classmethod
name() -> str
에이전트의 이름을 반환합니다.
pop_from_queue
소스 보기
runqueue에서 항목을 팝하여 작업으로 실행합니다.
예외 |
|
Exception |
큐에서 팝하는 동안 오류가 발생한 경우 발생합니다. |
print_status
소스 보기
에이전트의 현재 상태를 출력합니다.
run_job
소스 보기
run_job(
job, queue, file_saver
)
프로젝트를 설정하고 작업을 실행합니다.
task_run_job
소스 보기
task_run_job(
launch_spec, job, default_config, api, job_tracker
)
update_status
소스 보기
에이전트의 상태를 업데이트합니다.
인수 |
|
status |
에이전트를 업데이트할 상태입니다. |
10 - log
run 데이터를 업로드합니다.
log(
data: dict[str, Any],
step: (int | None) = None,
commit: (bool | None) = None,
sync: (bool | None) = None
) -> None
log
를 사용하여 스칼라, 이미지, 비디오, 히스토그램, 플롯 및 테이블과 같은 run의 데이터를 기록합니다.
실시간 예제, 코드 조각, 모범 사례 등에 대한 로깅 가이드 를 참조하세요.
가장 기본적인 사용법은 run.log({"train-loss": 0.5, "accuracy": 0.9})
입니다. 이렇게 하면 손실 및 정확도가 run의 기록에 저장되고 이러한 메트릭에 대한 요약 값이 업데이트됩니다.
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(
{
"train/accuracy": 0.9,
"train/loss": 30,
"validate/accuracy": 0.8,
"validate/loss": 20,
}
)
한 레벨의 중첩만 지원됩니다. run.log({"a/b/c": 1})
는 “a/b” 라는 섹션을 생성합니다.
run.log
는 초당 몇 번 이상 호출하도록 설계되지 않았습니다. 최적의 성능을 위해 로깅을 N번 반복할 때마다 한 번으로 제한하거나 여러 반복에 걸쳐 데이터를 수집하고 단일 단계로 기록합니다.
W&B 단계
기본적인 사용법으로, log
를 호출할 때마다 새로운 “단계” 가 생성됩니다. 단계는 항상 증가해야 하며 이전 단계에 기록하는 것은 불가능합니다.
차트에서 모든 메트릭을 X축으로 사용할 수 있습니다. 대부분의 경우 W&B 단계를 트레이닝 단계가 아닌 타임스탬프처럼 취급하는 것이 좋습니다.
# 예시: X축으로 사용하기 위해 "epoch" 메트릭을 기록합니다.
run.log({"epoch": 40, "train-loss": 0.5})
define_metric 도 참조하세요.
여러 log
호출을 사용하여 step
및 commit
파라미터로 동일한 단계에 기록할 수 있습니다. 다음은 모두 동일합니다.
# 일반적인 사용법:
run.log({"train-loss": 0.5, "accuracy": 0.8})
run.log({"train-loss": 0.4, "accuracy": 0.9})
# 자동 증가 없이 암시적 단계:
run.log({"train-loss": 0.5}, commit=False)
run.log({"accuracy": 0.8})
run.log({"train-loss": 0.4}, commit=False)
run.log({"accuracy": 0.9})
# 명시적 단계:
run.log({"train-loss": 0.5}, step=current_step)
run.log({"accuracy": 0.8}, step=current_step)
current_step += 1
run.log({"train-loss": 0.4}, step=current_step)
run.log({"accuracy": 0.9}, step=current_step)
Args |
|
data |
str 키와 직렬화 가능한 Python 오브젝트 (예: int , float 및 string ; wandb.data_types ; 직렬화 가능한 Python 오브젝트의 목록, 튜플 및 NumPy 배열; 이 구조의 다른 dict ) 가 있는 dict 입니다. |
step |
기록할 단계 번호입니다. None 인 경우 암시적 자동 증가 단계가 사용됩니다. 설명의 메모를 참조하세요. |
commit |
true이면 단계를 완료하고 업로드합니다. false이면 단계에 대한 데이터를 누적합니다. 설명의 메모를 참조하세요. step 이 None 이면 기본값은 commit=True 입니다. 그렇지 않으면 기본값은 commit=False 입니다. |
sync |
이 인수는 더 이상 사용되지 않으며 아무 작업도 수행하지 않습니다. |
예시:
더 자세한 예는 로깅 가이드 를 참조하세요.
기본 사용법
import wandb
with wandb.init() as run:
run.log({"accuracy": 0.9, "epoch": 5})
증분 로깅
import wandb
with wandb.init() as run:
run.log({"loss": 0.2}, commit=False)
# 이 단계를 보고할 준비가 되면 다른 곳에서:
run.log({"accuracy": 0.8})
히스토그램
import numpy as np
import wandb
# 정규 분포에서 임의로 그레이디언트 샘플링
gradients = np.random.randn(100, 100)
with wandb.init() as run:
run.log({"gradients": wandb.Histogram(gradients)})
numpy에서 이미지
import numpy as np
import wandb
with wandb.init() as run:
examples = []
for i in range(3):
pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
image = wandb.Image(pixels, caption=f"random field {i}")
examples.append(image)
run.log({"examples": examples})
PIL에서 이미지
import numpy as np
from PIL import Image as PILImage
import wandb
with wandb.init() as run:
examples = []
for i in range(3):
pixels = np.random.randint(
low=0,
high=256,
size=(100, 100, 3),
dtype=np.uint8,
)
pil_image = PILImage.fromarray(pixels, mode="RGB")
image = wandb.Image(pil_image, caption=f"random field {i}")
examples.append(image)
run.log({"examples": examples})
numpy에서 비디오
import numpy as np
import wandb
with wandb.init() as run:
# 축은 (시간, 채널, 높이, 너비) 입니다.
frames = np.random.randint(
low=0,
high=256,
size=(10, 3, 100, 100),
dtype=np.uint8,
)
run.log({"video": wandb.Video(frames, fps=4)})
Matplotlib 플롯
from matplotlib import pyplot as plt
import numpy as np
import wandb
with wandb.init() as run:
fig, ax = plt.subplots()
x = np.linspace(0, 10)
y = x * x
ax.plot(x, y) # 플롯 y = x^2
run.log({"chart": fig})
PR 곡선
import wandb
with wandb.init() as run:
run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})
3D 오브젝트
import wandb
with wandb.init() as run:
run.log(
{
"generated_samples": [
wandb.Object3D(open("sample.obj")),
wandb.Object3D(open("sample.gltf")),
wandb.Object3D(open("sample.glb")),
]
}
)
Raises |
|
wandb.Error |
wandb.init 전에 호출된 경우 |
ValueError |
잘못된 데이터가 전달된 경우 |
11 - login
W&B 로그인 자격 증명을 설정합니다.
login(
anonymous: Optional[Literal['must', 'allow', 'never']] = None,
key: Optional[str] = None,
relogin: Optional[bool] = None,
host: Optional[str] = None,
force: Optional[bool] = None,
timeout: Optional[int] = None,
verify: bool = (False)
) -> bool
기본적으로, 이는 W&B 서버로 검증하지 않고 로컬에만 자격 증명을 저장합니다. 자격 증명을 확인하려면 verify=True
를 전달하십시오.
Args |
|
anonymous |
(string, optional) “must”, “allow” 또는 “never"일 수 있습니다. “must"로 설정하면 항상 익명으로 사용자를 로그인합니다. “allow"로 설정하면 사용자가 아직 로그인하지 않은 경우에만 익명 사용자를 만듭니다. “never"로 설정하면 익명으로 사용자를 로그인하지 않습니다. 기본값은 “never"로 설정됩니다. |
key |
(string, optional) 사용할 API 키입니다. |
relogin |
(bool, optional) true인 경우 API 키를 다시 묻습니다. |
host |
(string, optional) 연결할 호스트입니다. |
force |
(bool, optional) true인 경우 강제로 다시 로그인합니다. |
timeout |
(int, optional) 사용자 입력을 기다리는 시간(초)입니다. |
verify |
(bool) W&B 서버로 자격 증명을 확인합니다. |
Raises |
|
AuthenticationError - API 키가 서버와의 확인에 실패한 경우 UsageError - API 키를 구성할 수 없고 tty가 없는 경우 |
|
12 - Run
wandb에 의해 기록되는 계산 단위입니다. 일반적으로 이는 ML 실험입니다.
Run(
settings: Settings,
config: (dict[str, Any] | None) = None,
sweep_config: (dict[str, Any] | None) = None,
launch_config: (dict[str, Any] | None) = None
) -> None
wandb.init()
으로 run을 생성합니다:
import wandb
run = wandb.init()
어떤 프로세스에서든 최대 하나의 활성 wandb.Run
만 존재하며,
wandb.run
으로 엑세스할 수 있습니다:
import wandb
assert wandb.run is None
wandb.init()
assert wandb.run is not None
wandb.log
로 기록하는 모든 내용은 해당 run으로 전송됩니다.
동일한 스크립트 또는 노트북에서 더 많은 run을 시작하려면 진행 중인 run을
완료해야 합니다. Run은 wandb.finish
를 사용하거나
with
블록에서 사용하여 완료할 수 있습니다:
import wandb
wandb.init()
wandb.finish()
assert wandb.run is None
with wandb.init() as run:
pass # 여기에 데이터 기록
assert wandb.run is None
run 생성에 대한 자세한 내용은 wandb.init
문서를 참조하거나
wandb.init
가이드를 확인하세요.
분산 트레이닝에서 순위 0 프로세스에서 단일 run을 생성한 다음 해당 프로세스에서만 정보를 기록하거나, 각 프로세스에서 run을 생성하고 각 프로세스에서 별도로 기록한 다음 wandb.init
에 대한 group
인수로 결과를 함께 그룹화할 수 있습니다. W&B를 사용한 분산 트레이닝에 대한 자세한 내용은
가이드를 확인하세요.
현재 wandb.Api
에 병렬 Run
오브젝트가 있습니다. 결국 이 두 오브젝트는 병합될 것입니다.
속성 |
|
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
소스 보기
alert(
title: str,
text: str,
level: (str | AlertLevel | None) = None,
wait_duration: (int | float | timedelta | None) = None
) -> None
지정된 제목과 텍스트로 알림을 시작합니다.
인수 |
|
title |
(str) 알림 제목입니다. 64자 미만이어야 합니다. |
text |
(str) 알림의 텍스트 본문입니다. |
level |
(str 또는 AlertLevel, 선택 사항) 사용할 알림 수준입니다. INFO , WARN 또는 ERROR 중 하나입니다. |
wait_duration |
(int, float 또는 timedelta, 선택 사항) 이 제목으로 다른 알림을 보내기 전에 대기할 시간(초)입니다. |
define_metric
소스 보기
define_metric(
name: str,
step_metric: (str | wandb_metric.Metric | None) = None,
step_sync: (bool | None) = None,
hidden: (bool | None) = None,
summary: (str | None) = None,
goal: (str | None) = None,
overwrite: (bool | None) = None
) -> wandb_metric.Metric
wandb.log()
로 기록된 메트릭을 사용자 정의합니다.
인수 |
|
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인 경우 지정되지 않은 파라미터는 이전 호출에서 지정된 값을 덮어씁니다. |
반환 |
|
이 호출을 나타내는 오브젝트이지만 그렇지 않으면 삭제될 수 있습니다. |
|
detach
소스 보기
display
소스 보기
display(
height: int = 420,
hidden: bool = (False)
) -> bool
이 run을 jupyter에서 표시합니다.
finish
소스 보기
finish(
exit_code: (int | None) = None,
quiet: (bool | None) = None
) -> None
run을 완료하고 남은 데이터를 업로드합니다.
W&B run의 완료를 표시하고 모든 데이터가 서버에 동기화되도록 합니다.
run의 최종 상태는 종료 조건 및 동기화 상태에 따라 결정됩니다.
Run 상태:
- Running: 데이터를 기록하거나 하트비트를 보내는 활성 run입니다.
- Crashed: 예기치 않게 하트비트 전송을 중단한 run입니다.
- Finished: 모든 데이터가 동기화된 상태로 성공적으로 완료된 run입니다(
exit_code=0
).
- Failed: 오류가 발생하여 완료된 run입니다(
exit_code!=0
).
인수 |
|
exit_code |
run의 종료 상태를 나타내는 정수입니다. 성공에는 0을 사용하고 다른 값은 run을 실패로 표시합니다. |
quiet |
더 이상 사용되지 않습니다. wandb.Settings(quiet=...) 를 사용하여 로깅 verbosity를 구성합니다. |
finish_artifact
소스 보기
finish_artifact(
artifact_or_path: (Artifact | str),
name: (str | None) = None,
type: (str | None) = None,
aliases: (list[str] | None) = None,
distributed_id: (str | None) = None
) -> Artifact
run의 출력으로 아직 완료되지 않은 아티팩트를 완료합니다.
동일한 분산 ID를 사용한 후속 “업서트"는 새 버전을 생성합니다.
인수 |
|
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의 그룹 이름으로 기본 설정됩니다. |
get_project_url
소스 보기
get_project_url() -> (str | None)
run과 관련된 W&B 프로젝트의 URL을 반환합니다(있는 경우).
오프라인 run에는 프로젝트 URL이 없습니다.
get_sweep_url
소스 보기
get_sweep_url() -> (str | None)
run과 관련된 스윕의 URL을 반환합니다(있는 경우).
get_url
소스 보기
get_url() -> (str | None)
W&B run의 URL을 반환합니다(있는 경우).
오프라인 run에는 URL이 없습니다.
join
소스 보기
join(
exit_code: (int | None) = None
) -> None
finish()
의 더 이상 사용되지 않는 에일리어스입니다. 대신 finish를 사용하세요.
link_artifact
소스 보기
link_artifact(
artifact: Artifact,
target_path: str,
aliases: (list[str] | None) = None
) -> None
지정된 아티팩트를 포트폴리오(승격된 아티팩트 모음)에 연결합니다.
연결된 아티팩트는 지정된 포트폴리오의 UI에 표시됩니다.
인수 |
|
artifact |
연결될 (공개 또는 로컬) 아티팩트입니다. |
target_path |
str - 다음 형식을 취합니다. {portfolio} , {project}/{portfolio} 또는 {entity}/{project}/{portfolio} |
aliases |
List[str] - 선택적 에일리어스로, 포트폴리오 내의 이 연결된 아티팩트에만 적용됩니다. “latest” 에일리어스는 항상 연결된 아티팩트의 최신 버전에 적용됩니다. |
link_model
소스 보기
link_model(
path: StrPath,
registered_model_name: str,
name: (str | None) = None,
aliases: (list[str] | None) = None
) -> None
모델 아티팩트 버전을 기록하고 모델 레지스트리의 등록된 모델에 연결합니다.
연결된 모델 버전은 지정된 등록된 모델의 UI에 표시됩니다.
단계:
- ’name’ 모델 아티팩트가 기록되었는지 확인합니다. 그렇다면 ‘path’에 있는 파일과 일치하는 아티팩트 버전을 사용하거나 새 버전을 기록합니다. 그렇지 않으면 ‘path’ 아래의 파일을 ‘model’ 유형의 새 모델 아티팩트 ’name’으로 기록합니다.
- 이름이 ‘registered_model_name’인 등록된 모델이 ‘model-registry’ 프로젝트에 있는지 확인합니다. 그렇지 않으면 이름이 ‘registered_model_name’인 새 등록된 모델을 만듭니다.
- 모델 아티팩트 ’name’ 버전을 등록된 모델 ‘registered_model_name’에 연결합니다.
- ‘aliases’ 목록에서 에일리어스를 새로 연결된 모델 아티팩트 버전에 연결합니다.
인수 |
|
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” 에일리어스는 항상 연결된 아티팩트의 최신 버전에 적용됩니다. |
예:
run.link_model(
path="/local/directory",
registered_model_name="my_reg_model",
name="my_model_artifact",
aliases=["production"],
)
잘못된 사용법
run.link_model(
path="/local/directory",
registered_model_name="my_entity/my_project/my_reg_model",
name="my_model_artifact",
aliases=["production"],
)
run.link_model(
path="/local/directory",
registered_model_name="my_reg_model",
name="my_entity/my_project/my_model_artifact",
aliases=["production"],
)
발생 |
|
AssertionError |
registered_model_name이 경로이거나 모델 아티팩트 ’name’이 ‘model’ 하위 문자열을 포함하지 않는 유형인 경우 |
ValueError |
이름에 잘못된 특수 문자가 있는 경우 |
log
소스 보기
log(
data: dict[str, Any],
step: (int | None) = None,
commit: (bool | None) = None,
sync: (bool | None) = None
) -> None
run 데이터를 업로드합니다.
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(
{
"train/accuracy": 0.9,
"train/loss": 30,
"validate/accuracy": 0.8,
"validate/loss": 20,
}
)
한 수준의 중첩만 지원됩니다. run.log({"a/b/c": 1})
는
“a/b"라는 이름의 섹션을 생성합니다.
run.log
는 초당 몇 번 이상 호출하도록 설계되지 않았습니다.
최적의 성능을 위해 로깅을 N번 반복할 때마다 한 번으로 제한하거나
여러 반복에 걸쳐 데이터를 수집하고 단일 단계로 기록합니다.
W&B 단계
기본 사용법에서 log
를 호출할 때마다 새 “단계"가 생성됩니다.
단계는 항상 증가해야 하며
이전 단계에 기록하는 것은 불가능합니다.
차트에서 모든 메트릭을 X축으로 사용할 수 있습니다.
많은 경우 W&B 단계를 트레이닝 단계가 아닌
타임스탬프로 취급하는 것이 좋습니다.
# 예: X축으로 사용할 "에포크" 메트릭을 기록합니다.
run.log({"epoch": 40, "train-loss": 0.5})
define_metric도 참조하세요.
여러 log
호출을 사용하여
step
및 commit
파라미터로 동일한 단계에 기록할 수 있습니다.
다음은 모두 동일합니다.
# 일반적인 사용법:
run.log({"train-loss": 0.5, "accuracy": 0.8})
run.log({"train-loss": 0.4, "accuracy": 0.9})
# 자동 증가 없이 암시적 단계:
run.log({"train-loss": 0.5}, commit=False)
run.log({"accuracy": 0.8})
run.log({"train-loss": 0.4}, commit=False)
run.log({"accuracy": 0.9})
# 명시적 단계:
run.log({"train-loss": 0.5}, step=current_step)
run.log({"accuracy": 0.8}, step=current_step)
current_step += 1
run.log({"train-loss": 0.4}, step=current_step)
run.log({"accuracy": 0.9}, step=current_step)
인수 |
|
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 |
이 인수는 더 이상 사용되지 않으며 아무 작업도 수행하지 않습니다. |
예:
자세한 내용은
로깅 가이드를 참조하세요.
기본 사용법
import wandb
run = wandb.init()
run.log({"accuracy": 0.9, "epoch": 5})
증분 로깅
import wandb
run = wandb.init()
run.log({"loss": 0.2}, commit=False)
# 이 단계를 보고할 준비가 되면 다른 위치에서:
run.log({"accuracy": 0.8})
히스토그램
import numpy as np
import wandb
# 정규 분포에서 임의로 그레이디언트 샘플링
gradients = np.random.randn(100, 100)
run = wandb.init()
run.log({"gradients": wandb.Histogram(gradients)})
numpy에서 이미지
import numpy as np
import wandb
run = wandb.init()
examples = []
for i in range(3):
pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
image = wandb.Image(pixels, caption=f"random field {i}")
examples.append(image)
run.log({"examples": examples})
PIL에서 이미지
import numpy as np
from PIL import Image as PILImage
import wandb
run = wandb.init()
examples = []
for i in range(3):
pixels = np.random.randint(
low=0,
high=256,
size=(100, 100, 3),
dtype=np.uint8,
)
pil_image = PILImage.fromarray(pixels, mode="RGB")
image = wandb.Image(pil_image, caption=f"random field {i}")
examples.append(image)
run.log({"examples": examples})
numpy에서 비디오
import numpy as np
import wandb
run = wandb.init()
# 축은 (시간, 채널, 높이, 너비)입니다.
frames = np.random.randint(
low=0,
high=256,
size=(10, 3, 100, 100),
dtype=np.uint8,
)
run.log({"video": wandb.Video(frames, fps=4)})
Matplotlib 플롯
from matplotlib import pyplot as plt
import numpy as np
import wandb
run = wandb.init()
fig, ax = plt.subplots()
x = np.linspace(0, 10)
y = x * x
ax.plot(x, y) # y = x^2 플롯
run.log({"chart": fig})
PR 곡선
import wandb
run = wandb.init()
run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})
3D 오브젝트
import wandb
run = wandb.init()
run.log(
{
"generated_samples": [
wandb.Object3D(open("sample.obj")),
wandb.Object3D(open("sample.gltf")),
wandb.Object3D(open("sample.glb")),
]
}
)
발생 |
|
wandb.Error |
wandb.init 전에 호출된 경우 |
ValueError |
잘못된 데이터가 전달된 경우 |
log_artifact
소스 보기
log_artifact(
artifact_or_path: (Artifact | StrPath),
name: (str | None) = None,
type: (str | None) = None,
aliases: (list[str] | None) = None,
tags: (list[str] | None) = None
) -> Artifact
아티팩트를 run의 출력으로 선언합니다.
인수 |
|
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, 선택 사항) 이 아티팩트에 적용할 태그입니다(있는 경우). |
log_code
소스 보기
log_code(
root: (str | None) = ".",
name: (str | None) = None,
include_fn: (Callable[[str, str], bool] | Callable[[str], bool]) = _is_py_requirements_or_dockerfile,
exclude_fn: (Callable[[str, str], bool] | Callable[[str], bool]) = filenames.exclude_wandb_fn
) -> (Artifact | None)
코드의 현재 상태를 W&B Artifact에 저장합니다.
기본적으로 현재 디렉토리를 탐색하고 .py
로 끝나는 모든 파일을 기록합니다.
인수 |
|
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/ 디렉토리 내의 모든 파일을 제외하는 함수입니다. |
예:
기본 사용법
고급 사용법
run.log_code(
"../",
include_fn=lambda path: path.endswith(".py") or path.endswith(".ipynb"),
exclude_fn=lambda path, root: os.path.relpath(path, root).startswith(
"cache/"
),
)
반환 |
|
코드가 기록된 경우 Artifact 오브젝트입니다. |
|
log_model
소스 보기
log_model(
path: StrPath,
name: (str | None) = None,
aliases: (list[str] | None) = None
) -> None
‘path’ 내부의 콘텐츠를 포함하는 모델 아티팩트를 run에 기록하고 이 run에 대한 출력으로 표시합니다.
인수 |
|
path |
(str) 이 모델의 콘텐츠에 대한 경로입니다. 다음 형식이 될 수 있습니다. - /local/directory - /local/directory/file.txt - s3://bucket/path |
name |
(str, 선택 사항) 파일 콘텐츠가 추가될 모델 아티팩트에 할당할 이름입니다. 문자열에는 대시, 밑줄 및 점과 같은 영숫자 문자만 포함되어야 합니다. 지정하지 않으면 기본적으로 현재 run ID가 접두사로 붙은 경로의 기본 이름으로 설정됩니다. |
aliases |
(list, 선택 사항) 생성된 모델 아티팩트에 적용할 에일리어스입니다. 기본값은 ["latest"] 입니다. |
예:
run.log_model(
path="/local/directory",
name="my_model_artifact",
aliases=["production"],
)
잘못된 사용법
run.log_model(
path="/local/directory",
name="my_entity/my_project/my_model_artifact",
aliases=["production"],
)
발생 |
|
ValueError |
이름에 잘못된 특수 문자가 있는 경우 |
mark_preempting
소스 보기
mark_preempting() -> None
이 run을 선점하는 것으로 표시합니다.
또한 내부 프로세스에 이를 즉시 서버에 보고하도록 지시합니다.
project_name
소스 보기
restore
소스 보기
restore(
name: str,
run_path: (str | None) = None,
replace: bool = (False),
root: (str | None) = None
) -> (None | TextIO)
클라우드 스토리지에서 지정된 파일을 다운로드합니다.
파일은 현재 디렉토리 또는 run 디렉토리에 배치됩니다.
기본적으로 파일이 아직 존재하지 않는 경우에만 다운로드합니다.
인수 |
|
name |
파일 이름입니다. |
run_path |
파일을 가져올 run에 대한 선택적 경로입니다(예: username/project_name/run_id ). wandb.init가 호출되지 않은 경우 필수입니다. |
replace |
파일이 로컬에 이미 있더라도 파일을 다운로드할지 여부입니다. |
root |
파일을 다운로드할 디렉토리입니다. 기본값은 현재 디렉토리 또는 wandb.init가 호출된 경우 run 디렉토리입니다. |
반환 |
|
파일을 찾을 수 없으면 None이고, 그렇지 않으면 읽기용으로 열린 파일 오브젝트입니다. |
|
발생 |
|
wandb.CommError |
wandb 백엔드에 연결할 수 없는 경우 |
ValueError |
파일을 찾을 수 없거나 run_path를 찾을 수 없는 경우 |
save
소스 보기
save(
glob_str: (str | os.PathLike | None) = None,
base_path: (str | os.PathLike | None) = None,
policy: PolicyName = "live"
) -> (bool | list[str])
하나 이상의 파일을 W&B에 동기화합니다.
상대 경로는 현재 작업 디렉토리를 기준으로 합니다.
“myfiles/*“와 같은 Unix glob은 policy
에 관계없이 save
가
호출될 때 확장됩니다. 특히 새 파일은 자동으로 선택되지 않습니다.
base_path
는 업로드된 파일의 디렉토리 구조를 제어하기 위해 제공될 수 있습니다.
glob_str
의 접두사여야 하며
그 아래의 디렉토리 구조가 유지됩니다. 다음 예를 통해 가장 잘 이해할 수 있습니다.
wandb.save("these/are/myfiles/*")
# => run에서 "these/are/myfiles/" 폴더에 파일을 저장합니다.
wandb.save("these/are/myfiles/*", base_path="these")
# => run에서 "are/myfiles/" 폴더에 파일을 저장합니다.
wandb.save("/User/username/Documents/run123/*.txt")
# => run에서 "run123/" 폴더에 파일을 저장합니다. 아래 참고 사항을 참조하세요.
wandb.save("/User/username/Documents/run123/*.txt", base_path="/User")
# => run에서 "username/Documents/run123/" 폴더에 파일을 저장합니다.
wandb.save("files/*/saveme.txt")
# => "files/"의 적절한 하위 디렉토리에 각 "saveme.txt" 파일을 저장합니다.
참고: 절대 경로 또는 glob이 제공되고 base_path
가 없는 경우 위 예제와 같이 한 디렉토리 수준이 유지됩니다.
인수 |
|
glob_str |
상대 경로 또는 절대 경로 또는 Unix glob입니다. |
base_path |
디렉토리 구조를 추론하는 데 사용할 경로입니다. 예를 참조하세요. |
policy |
live , now 또는 end 중 하나입니다. * live: 파일이 변경될 때 파일을 업로드하고 이전 버전을 덮어씁니다. * now: 파일을 지금 한 번 업로드합니다. * end: run이 종료될 때 파일을 업로드합니다. |
반환 |
|
일치하는 파일에 대해 생성된 심볼릭 링크의 경로입니다. 레거시 코드에서는 이전 이유로 인해 부울을 반환할 수 있습니다. |
|
status
소스 보기
내부 백엔드에서 현재 run의 동기화 상태에 대한 동기화 정보를 가져옵니다.
to_html
소스 보기
to_html(
height: int = 420,
hidden: bool = (False)
) -> str
현재 run을 표시하는 iframe을 포함하는 HTML을 생성합니다.
unwatch
소스 보기
unwatch(
models: (torch.nn.Module | Sequence[torch.nn.Module] | None) = None
) -> None
pytorch 모델 토폴로지, 그레이디언트 및 파라미터 훅을 제거합니다.
인수 |
|
models (torch.nn.Module |
Sequence[torch.nn.Module]): watch가 호출된 pytorch 모델의 선택적 목록 |
upsert_artifact
소스 보기
upsert_artifact(
artifact_or_path: (Artifact | str),
name: (str | None) = None,
type: (str | None) = None,
aliases: (list[str] | None) = None,
distributed_id: (str | None) = None
) -> Artifact
run의 출력으로 아직 완료되지 않은 아티팩트를 선언하거나 추가합니다.
아티팩트를 완료하려면 run.finish_artifact()를 호출해야 합니다.
이는 분산 작업이 모두 동일한 아티팩트에 기여해야 하는 경우에 유용합니다.
인수 |
|
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의 그룹 이름으로 기본 설정됩니다. |
use_artifact
소스 보기
use_artifact(
artifact_or_name: (str | Artifact),
type: (str | None) = None,
aliases: (list[str] | None) = None,
use_as: (str | None) = None
) -> Artifact
아티팩트를 run의 입력으로 선언합니다.
반환된 오브젝트에서 download
또는 file
을 호출하여 콘텐츠를 로컬로 가져옵니다.
인수 |
|
artifact_or_name |
(str 또는 Artifact) 아티팩트 이름입니다. 프로젝트/ 또는 엔티티/프로젝트/로 시작할 수 있습니다. 이름에 엔티티가 지정되지 않은 경우 Run 또는 API 설정의 엔티티가 사용됩니다. 유효한 이름은 다음 형식이 될 수 있습니다. - name:version - name:alias wandb.Artifact 를 호출하여 생성된 Artifact 오브젝트를 전달할 수도 있습니다. |
type |
(str, 선택 사항) 사용할 아티팩트의 유형입니다. |
aliases |
(list, 선택 사항) 이 아티팩트에 적용할 에일리어스입니다. |
use_as |
(string, 선택 사항) 아티팩트가 사용된 목적을 나타내는 선택적 문자열입니다. UI에 표시됩니다. |
use_model
소스 보기
use_model(
name: str
) -> FilePathStr
모델 아티팩트 ’name’에 기록된 파일을 다운로드합니다.
인수 |
|
name |
(str) 모델 아티팩트 이름입니다. ’name’은 기존에 기록된 모델 아티팩트의 이름과 일치해야 합니다. 엔티티/프로젝트/로 시작할 수 있습니다. 유효한 이름은 다음 형식이 될 수 있습니다. - model_artifact_name:version - model_artifact_name:alias |
예:
run.use_model(
name="my_model_artifact:latest",
)
run.use_model(
name="my_project/my_model_artifact:v0",
)
run.use_model(
name="my_entity/my_project/my_model_artifact:<digest>",
)
잘못된 사용법
run.use_model(
name="my_entity/my_project/my_model_artifact",
)
발생 |
|
AssertionError |
모델 아티팩트 ’name’이 ‘model’ 하위 문자열을 포함하지 않는 유형인 경우 |
반환 |
|
path |
(str) 다운로드된 모델 아티팩트 파일의 경로입니다. |
watch
소스 보기
watch(
models: (torch.nn.Module | Sequence[torch.nn.Module]),
criterion: (torch.F | None) = None,
log: (Literal['gradients', 'parameters', 'all'] | None) = "gradients",
log_freq: int = 1000,
idx: (int | None) = None,
log_graph: bool = (False)
) -> None
지정된 PyTorch 모델에 훅을 연결하여 그레이디언트 및 모델의 계산 그래프를 모니터링합니다.
이 함수는 트레이닝 중에 파라미터, 그레이디언트 또는 둘 다를 추적할 수 있습니다. 향후 임의의 기계 학습 모델을 지원하도록 확장해야 합니다.
인수 |
|
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) |
|
발생 |
|
ValueError |
wandb.init 가 호출되지 않았거나 모델이 torch.nn.Module 의 인스턴스가 아닌 경우 |
__enter__
소스 보기
__exit__
소스 보기
__exit__(
exc_type: type[BaseException],
exc_val: BaseException,
exc_tb: TracebackType
) -> bool
13 - save
하나 이상의 파일을 W&B에 동기화합니다.
save(
glob_str: (str | os.PathLike | None) = None,
base_path: (str | os.PathLike | None) = None,
policy: PolicyName = "live"
) -> (bool | list[str])
상대 경로는 현재 작업 디렉토리를 기준으로 합니다.
“myfiles/*“와 같은 Unix glob은 policy
와 관계없이 save
가 호출될 때 확장됩니다. 특히 새 파일은 자동으로 선택되지 않습니다.
base_path
는 업로드된 파일의 디렉토리 구조를 제어하기 위해 제공될 수 있습니다. 이는 glob_str
의 접두사여야 하며 그 아래의 디렉토리 구조는 보존됩니다. 이는 다음 예제를 통해 가장 잘 이해할 수 있습니다.
wandb.save("these/are/myfiles/*")
# => run에서 "these/are/myfiles/" 폴더에 파일을 저장합니다.
wandb.save("these/are/myfiles/*", base_path="these")
# => run에서 "are/myfiles/" 폴더에 파일을 저장합니다.
wandb.save("/User/username/Documents/run123/*.txt")
# => run에서 "run123/" 폴더에 파일을 저장합니다. 아래 참고 사항을 참조하십시오.
wandb.save("/User/username/Documents/run123/*.txt", base_path="/User")
# => run에서 "username/Documents/run123/" 폴더에 파일을 저장합니다.
wandb.save("files/*/saveme.txt")
# => 각 "saveme.txt" 파일을 "files/"의 적절한 하위 디렉토리에 저장합니다.
참고: 절대 경로 또는 glob이 제공되고 base_path
가 없는 경우 위의 예와 같이 하나의 디렉토리 수준이 보존됩니다.
Args |
|
glob_str |
상대 또는 절대 경로 또는 Unix glob입니다. |
base_path |
디렉토리 구조를 추론하는 데 사용할 경로입니다. 예제를 참조하십시오. |
policy |
live , now 또는 end 중 하나입니다. * live: 파일이 변경됨에 따라 파일을 업로드하고 이전 버전을 덮어씁니다. * now: 파일을 지금 한 번 업로드합니다. * end: run이 종료될 때 파일을 업로드합니다. |
Returns |
|
일치하는 파일에 대해 생성된 심볼릭 링크의 경로입니다. 기록상의 이유로 인해 레거시 코드에서 부울을 반환할 수 있습니다. |
|
14 - sweep
하이퍼파라미터 스윕을 초기화합니다.
sweep(
sweep: Union[dict, Callable],
entity: Optional[str] = None,
project: Optional[str] = None,
prior_runs: Optional[List[str]] = None
) -> str
다양한 조합을 테스트하여 기계 학습 모델의 비용 함수를 최적화하는 하이퍼파라미터를 검색합니다.
반환되는 고유 식별자인 sweep_id
를 기록해 두십시오.
나중에 스윕 에이전트에 sweep_id
를 제공합니다.
인수 |
|
sweep |
하이퍼파라미터 검색의 구성입니다 (또는 구성 생성기). 스윕 정의 방법에 대한 자세한 내용은 스윕 구성 구조 를 참조하십시오. 호출 가능한 항목을 제공하는 경우 호출 가능한 항목이 인수를 사용하지 않고 W&B 스윕 구성 사양을 준수하는 사전을 반환하는지 확인하십시오. |
entity |
스윕에 의해 생성된 W&B run을 보낼 사용자 이름 또는 팀 이름입니다. 지정한 엔터티가 이미 존재하는지 확인하십시오. 엔터티를 지정하지 않으면 run은 기본 엔터티 (일반적으로 사용자 이름) 로 전송됩니다. |
project |
스윕에서 생성된 W&B run이 전송되는 프로젝트의 이름입니다. 프로젝트를 지정하지 않으면 run은 ‘Uncategorized’ 라는 프로젝트로 전송됩니다. |
prior_runs |
이 스윕에 추가할 기존 run의 run ID입니다. |
반환 |
|
sweep_id |
str. 스윕에 대한 고유 식별자입니다. |
15 - wandb_workspaces
클래스
class reports
: W&B Reports API를 프로그래밍 방식으로 사용하기 위한 Python 라이브러리입니다.
class workspaces
: W&B Workspace API를 프로그래밍 방식으로 사용하기 위한 Python 라이브러리입니다.
15.1 - Reports
module wandb_workspaces.reports.v2
W&B Reports API를 프로그래밍 방식으로 사용하기 위한 Python 라이브러리입니다.
import wandb_workspaces.reports.v2 as wr
report = wr.Report(
entity="entity",
project="project",
title="An amazing title",
description="A descriptive description.",
)
blocks = [
wr.PanelGrid(
panels=[
wr.LinePlot(x="time", y="velocity"),
wr.ScatterPlot(x="time", y="acceleration"),
]
)
]
report.blocks = blocks
report.save()
class BarPlot
2D 막대 그래프를 표시하는 패널 오브젝트입니다.
Attributes:
title
(Optional[str]): 플롯 상단에 표시되는 텍스트입니다.
metrics
(LList[MetricType]): orientation Literal[“v”, “h”]: 막대 그래프의 방향입니다. 수직(“v”) 또는 수평(“h”)으로 설정합니다. 기본값은 수평(“h”)입니다.
range_x
(Tuple[float | None, float | None]): x축의 범위를 지정하는 튜플입니다.
title_x
(Optional[str]): x축의 레이블입니다.
title_y
(Optional[str]): y축의 레이블입니다.
groupby
(Optional[str]): 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 메트릭을 기반으로 run을 그룹화합니다.
groupby_aggfunc
(Optional[GroupAgg]): 지정된 함수로 run을 집계합니다. 옵션에는 mean
, min
, max
, median
, sum
, samples
또는 None
이 있습니다.
groupby_rangefunc
(Optional[GroupArea]): 범위를 기준으로 run을 그룹화합니다. 옵션에는 minmax
, stddev
, stderr
, none
, =samples
또는 None
이 있습니다.
max_runs_to_show
(Optional[int]): 플롯에 표시할 최대 run 수입니다.
max_bars_to_show
(Optional[int]): 막대 그래프에 표시할 최대 막대 수입니다.
custom_expressions
(Optional[LList[str]]): 막대 그래프에 사용할 사용자 정의 표현식 목록입니다.
legend_template
(Optional[str]): 범례 템플릿입니다.
font_size
( Optional[FontSize]): 선 플롯 글꼴 크기입니다. 옵션에는 small
, medium
, large
, auto
또는 None
이 있습니다.
line_titles
(Optional[dict]): 선 제목입니다. 키는 선 이름이고 값은 제목입니다.
line_colors
(Optional[dict]): 선 색상입니다. 키는 선 이름이고 값은 색상입니다.
class BlockQuote
인용된 텍스트 블록입니다.
Attributes:
text
(str): 인용 블록의 텍스트입니다.
class CalloutBlock
콜아웃 텍스트 블록입니다.
Attributes:
class CheckedList
확인란이 있는 항목 목록입니다. CheckedList
내에 하나 이상의 CheckedListItem
을 추가합니다.
Attributes:
items
(LList[CheckedListItem]): 하나 이상의 CheckedListItem
오브젝트 목록입니다.
class CheckedListItem
확인란이 있는 목록 항목입니다. CheckedList
내에 하나 이상의 CheckedListItem
을 추가합니다.
Attributes:
text
(str): 목록 항목의 텍스트입니다.
checked
(bool): 확인란이 선택되었는지 여부입니다. 기본적으로 False
로 설정됩니다.
class CodeBlock
코드 블록입니다.
Attributes:
code
(str): 블록의 코드입니다.
language
(Optional[Language]): 코드의 언어입니다. 지정된 언어는 구문 강조 표시에 사용됩니다. 기본적으로 python
으로 설정됩니다. 옵션에는 javascript
, python
, css
, json
, html
, markdown
, yaml
이 있습니다.
class CodeComparer
두 개의 다른 run 간의 코드를 비교하는 패널 오브젝트입니다.
Attributes:
diff
(Literal['split', 'unified'])
: 코드 차이점을 표시하는 방법입니다. 옵션에는 split
및 unified
가 있습니다.
class Config
run의 config 오브젝트에 기록된 메트릭입니다. Config 오브젝트는 일반적으로 run.config[name] = ...
을 사용하거나 키-값 쌍의 사전으로 config를 전달하여 기록됩니다. 여기서 키는 메트릭 이름이고 값은 해당 메트릭 값입니다.
Attributes:
class CustomChart
사용자 정의 차트를 표시하는 패널입니다. 차트는 Weave 쿼리로 정의됩니다.
Attributes:
query
(dict): 사용자 정의 차트를 정의하는 쿼리입니다. 키는 필드 이름이고 값은 쿼리입니다.
chart_name
(str): 사용자 정의 차트 제목입니다.
chart_fields
(dict): 플롯의 축을 정의하는 키-값 쌍입니다. 여기서 키는 레이블이고 값은 메트릭입니다.
chart_strings
(dict): 차트의 문자열을 정의하는 키-값 쌍입니다.
classmethod from_table
from_table(
table_name: str,
chart_fields: dict = None,
chart_strings: dict = None
)
테이블에서 사용자 정의 차트를 만듭니다.
Arguments:
table_name
(str): 테이블 이름입니다.
chart_fields
(dict): 차트에 표시할 필드입니다.
chart_strings
(dict): 차트에 표시할 문자열입니다.
class Gallery
Reports 및 URL 갤러리를 렌더링하는 블록입니다.
Attributes:
items
(List[Union[GalleryReport
, GalleryURL
]]): GalleryReport
및 GalleryURL
오브젝트 목록입니다.
class GalleryReport
갤러리의 리포트에 대한 참조입니다.
Attributes:
report_id
(str): 리포트 ID입니다.
class GalleryURL
외부 리소스에 대한 URL입니다.
Attributes:
url
(str): 리소스의 URL입니다.
title
(Optional[str]): 리소스 제목입니다.
description
(Optional[str]): 리소스 설명입니다.
image_url
(Optional[str]): 표시할 이미지 URL입니다.
class GradientPoint
그레이디언트의 점입니다.
Attributes:
color
: 점의 색상입니다.
offset
: 그레이디언트에서 점의 위치입니다. 값은 0에서 100 사이여야 합니다.
class H1
지정된 텍스트가 있는 H1 제목입니다.
Attributes:
text
(str): 제목의 텍스트입니다.
collapsed_blocks
(Optional[LList[“BlockTypes”]]): 제목이 축소될 때 표시할 블록입니다.
class H2
지정된 텍스트가 있는 H2 제목입니다.
Attributes:
text
(str): 제목의 텍스트입니다.
collapsed_blocks
(Optional[LList[“BlockTypes”]]): 제목이 축소될 때 표시할 하나 이상의 블록입니다.
class H3
지정된 텍스트가 있는 H3 제목입니다.
Attributes:
text
(str): 제목의 텍스트입니다.
collapsed_blocks
(Optional[LList[“BlockTypes”]]): 제목이 축소될 때 표시할 하나 이상의 블록입니다.
class Heading
class HorizontalRule
HTML 수평선입니다.
class Image
이미지를 렌더링하는 블록입니다.
Attributes:
url
(str): 이미지 URL입니다.
caption
(str): 이미지 캡션입니다. 캡션은 이미지 아래에 나타납니다.
class InlineCode
인라인 코드입니다. 코드 뒤에 줄 바꿈 문자를 추가하지 않습니다.
Attributes:
text
(str): 리포트에 표시할 코드입니다.
class InlineLatex
인라인 LaTeX 마크다운입니다. LaTeX 마크다운 뒤에 줄 바꿈 문자를 추가하지 않습니다.
Attributes:
text
(str): 리포트에 표시할 LaTeX 마크다운입니다.
class LatexBlock
LaTeX 텍스트 블록입니다.
Attributes:
text
(str): LaTeX 텍스트입니다.
class Layout
리포트의 패널 레이아웃입니다. 패널의 크기와 위치를 조정합니다.
Attributes:
x
(int): 패널의 x 위치입니다.
y
(int): 패널의 y 위치입니다.
w
(int): 패널의 너비입니다.
h
(int): 패널의 높이입니다.
class LinePlot
2D 선 플롯이 있는 패널 오브젝트입니다.
Attributes:
title
(Optional[str]): 플롯 상단에 표시되는 텍스트입니다.
x
(Optional[MetricType]): 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 메트릭 이름입니다. 지정된 메트릭은 x축에 사용됩니다.
y
(LList[MetricType]): 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 하나 이상의 메트릭입니다. 지정된 메트릭은 y축에 사용됩니다.
range_x
(Tuple[float | None
, float | None
]): x축의 범위를 지정하는 튜플입니다.
range_y
(Tuple[float | None
, float | None
]): y축의 범위를 지정하는 튜플입니다.
log_x
(Optional[bool]): 밑이 10인 로그 스케일을 사용하여 x좌표를 플로팅합니다.
log_y
(Optional[bool]): 밑이 10인 로그 스케일을 사용하여 y좌표를 플로팅합니다.
title_x
(Optional[str]): x축 레이블입니다.
title_y
(Optional[str]): y축 레이블입니다.
ignore_outliers
(Optional[bool]): True
로 설정되면 이상값을 플로팅하지 않습니다.
groupby
(Optional[str]): 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 메트릭을 기반으로 run을 그룹화합니다.
groupby_aggfunc
(Optional[GroupAgg]): 지정된 함수로 run을 집계합니다. 옵션에는 mean
, min
, max
, median
, sum
, samples
또는 None
이 있습니다.
groupby_rangefunc
(Optional[GroupArea]): 범위를 기준으로 run을 그룹화합니다. 옵션에는 minmax
, stddev
, stderr
, none
, samples
또는 None
이 있습니다.
smoothing_factor
(Optional[float]): 스무딩 유형에 적용할 스무딩 계수입니다. 허용되는 값의 범위는 0에서 1 사이입니다.
smoothing_type Optional[SmoothingType]
: 지정된 분포를 기반으로 필터를 적용합니다. 옵션에는 exponentialTimeWeighted
, exponential
, gaussian
, average
또는 none
이 있습니다.
smoothing_show_original
(Optional[bool]): True
로 설정되면 원본 데이터를 표시합니다.
max_runs_to_show
(Optional[int]): 선 플롯에 표시할 최대 run 수입니다.
custom_expressions
(Optional[LList[str]]): 데이터에 적용할 사용자 정의 표현식입니다.
plot_type Optional[LinePlotStyle]
: 생성할 선 플롯 유형입니다. 옵션에는 line
, stacked-area
또는 pct-area
가 있습니다.
font_size Optional[FontSize]
: 선 플롯 글꼴 크기입니다. 옵션에는 small
, medium
, large
, auto
또는 None
이 있습니다.
legend_position Optional[LegendPosition]
: 범례를 배치할 위치입니다. 옵션에는 north
, south
, east
, west
또는 None
이 있습니다.
legend_template
(Optional[str]): 범례 템플릿입니다.
aggregate
(Optional[bool]): True
로 설정되면 데이터를 집계합니다.
xaxis_expression
(Optional[str]): x축 표현식입니다.
legend_fields
(Optional[LList[str]]): 범례에 포함할 필드입니다.
class Link
URL에 대한 링크입니다.
Attributes:
text
(Union[str, TextWithInlineComments]): 링크 텍스트입니다.
url
(str): 링크가 가리키는 URL입니다.
class MarkdownBlock
마크다운 텍스트 블록입니다. 일반적인 마크다운 구문을 사용하는 텍스트를 작성하려는 경우에 유용합니다.
Attributes:
class MarkdownPanel
마크다운을 렌더링하는 패널입니다.
Attributes:
markdown
(str): 마크다운 패널에 표시할 텍스트입니다.
미디어 파일을 그리드 레이아웃으로 표시하는 패널입니다.
Attributes:
num_columns
(Optional[int]): 그리드의 열 수입니다.
media_keys
(LList[str]): 미디어 파일에 해당하는 미디어 키 목록입니다.
class Metric
프로젝트에 기록된 리포트에 표시할 메트릭입니다.
Attributes:
class OrderBy
정렬할 메트릭입니다.
Attributes:
name
(str): 메트릭 이름입니다.
ascending
(bool): 오름차순으로 정렬할지 여부입니다. 기본적으로 False
로 설정됩니다.
class OrderedList
번호 매겨진 목록의 항목 목록입니다.
Attributes:
items
(LList[str]): 하나 이상의 OrderedListItem
오브젝트 목록입니다.
class OrderedListItem
순서가 지정된 목록의 목록 항목입니다.
Attributes:
text
(str): 목록 항목의 텍스트입니다.
class P
텍스트 단락입니다.
Attributes:
class Panel
패널 그리드에 시각화를 표시하는 패널입니다.
Attributes:
layout
(Layout): Layout
오브젝트입니다.
class PanelGrid
runset 및 패널로 구성된 그리드입니다. Runset
및 Panel
오브젝트를 사용하여 각각 runset 및 패널을 추가합니다.
사용 가능한 패널은 다음과 같습니다. LinePlot
, ScatterPlot
, BarPlot
, ScalarChart
, CodeComparer
, ParallelCoordinatesPlot
, ParameterImportancePlot
, RunComparer
, MediaBrowser
, MarkdownPanel
, CustomChart
, WeavePanel
, WeavePanelSummaryTable
, WeavePanelArtifactVersionedFile
.
Attributes:
runsets
(LList[“Runset”]): 하나 이상의 Runset
오브젝트 목록입니다.
panels
(LList[“PanelTypes”]): 하나 이상의 Panel
오브젝트 목록입니다.
active_runset
(int): runset 내에 표시할 run 수입니다. 기본적으로 0으로 설정됩니다.
custom_run_colors
(dict): 키가 run 이름이고 값이 16진수 값으로 지정된 색상인 키-값 쌍입니다.
class ParallelCoordinatesPlot
평행 좌표 플롯을 표시하는 패널 오브젝트입니다.
Attributes:
columns
(LList[ParallelCoordinatesPlotColumn]): 하나 이상의 ParallelCoordinatesPlotColumn
오브젝트 목록입니다.
title
(Optional[str]): 플롯 상단에 표시되는 텍스트입니다.
gradient
(Optional[LList[GradientPoint]]): 그레이디언트 점 목록입니다.
font_size
(Optional[FontSize]): 선 플롯 글꼴 크기입니다. 옵션에는 small
, medium
, large
, auto
또는 None
이 있습니다.
class ParallelCoordinatesPlotColumn
평행 좌표 플롯 내의 열입니다. 지정된 metric
순서에 따라 평행 좌표 플롯에서 평행축(x축)의 순서가 결정됩니다.
Attributes:
metric
(str | Config | SummaryMetric): 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 메트릭 이름입니다.
display_name
(Optional[str]): 메트릭 이름입니다.
inverted
(Optional[bool]): 메트릭을 반전할지 여부입니다.
log
(Optional[bool]): 메트릭에 로그 변환을 적용할지 여부입니다.
class ParameterImportancePlot
선택한 메트릭을 예측하는 데 각 하이퍼파라미터가 얼마나 중요한지 보여주는 패널입니다.
Attributes:
with_respect_to
(str): 파라미터 중요도를 비교할 메트릭입니다. 일반적인 메트릭에는 손실, 정확도 등이 있습니다. 지정하는 메트릭은 리포트가 정보를 가져오는 프로젝트 내에 기록되어야 합니다.
class Report
W&B Report를 나타내는 오브젝트입니다. 리포트를 사용자 정의하려면 반환된 오브젝트의 blocks
속성을 사용하세요. Report 오브젝트는 자동으로 저장되지 않습니다. 변경 사항을 유지하려면 save()
메소드를 사용하세요.
Attributes:
project
(str): 로드할 W&B 프로젝트 이름입니다. 지정된 프로젝트는 리포트 URL에 나타납니다.
entity
(str): 리포트를 소유한 W&B entity입니다. entity는 리포트 URL에 나타납니다.
title
(str): 리포트 제목입니다. 제목은 리포트 상단에 H1 제목으로 나타납니다.
description
(str): 리포트 설명입니다. 설명은 리포트 제목 아래에 나타납니다.
blocks
(LList[BlockTypes]): 하나 이상의 HTML 태그, 플롯, 그리드, runset 등의 목록입니다.
width
(Literal[‘readable’, ‘fixed’, ‘fluid’]): 리포트 너비입니다. 옵션에는 ‘readable’, ‘fixed’, ‘fluid’가 있습니다.
property url
리포트가 호스팅되는 URL입니다. 리포트 URL은 https://wandb.ai/{entity}/{project_name}/reports/
로 구성됩니다. 여기서 {entity}
및 {project_name}
은 리포트가 속한 entity와 프로젝트 이름으로 구성됩니다.
classmethod from_url
from_url(url: str, as_model: bool = False)
리포트를 현재 환경으로 로드합니다. 리포트가 호스팅되는 URL을 전달합니다.
Arguments:
url
(str): 리포트가 호스팅되는 URL입니다.
as_model
(bool): True이면 Report 오브젝트 대신 model 오브젝트를 반환합니다. 기본적으로 False
로 설정됩니다.
method save
save(draft: bool = False, clone: bool = False)
리포트 오브젝트에 대한 변경 사항을 유지합니다.
method to_html
to_html(height: int = 1024, hidden: bool = False) → str
이 리포트를 표시하는 iframe이 포함된 HTML을 생성합니다. 일반적으로 Python 노트북 내에서 사용됩니다.
Arguments:
height
(int): iframe 높이입니다.
hidden
(bool): True이면 iframe을 숨깁니다. 기본적으로 False
로 설정됩니다.
class RunComparer
리포트가 정보를 가져오는 프로젝트의 서로 다른 run에서 메트릭을 비교하는 패널입니다.
Attributes:
diff_only
(Optional[Literal["split", True]])
: 프로젝트의 run 간 차이만 표시합니다. W&B Report UI에서 이 기능을 켜고 끌 수 있습니다.
class Runset
패널 그리드에 표시할 run 집합입니다.
Attributes:
entity
(str): run이 저장된 프로젝트를 소유하거나 올바른 권한을 가진 entity입니다.
project
(str): run이 저장된 프로젝트 이름입니다.
name
(str): run set 이름입니다. 기본적으로 Run set
으로 설정됩니다.
query
(str): run을 필터링하는 쿼리 문자열입니다.
filters
(Optional[str]): run을 필터링하는 필터 문자열입니다.
groupby
(LList[str]): 그룹화할 메트릭 이름 목록입니다.
order
(LList[OrderBy]): 정렬할 OrderBy
오브젝트 목록입니다.
custom_run_colors
(LList[OrderBy]): run ID를 색상에 매핑하는 사전입니다.
class RunsetGroup
runset 그룹을 표시하는 UI 요소입니다.
Attributes:
runset_name
(str): runset 이름입니다.
keys
(Tuple[RunsetGroupKey, …]): 그룹화할 키입니다. 그룹화할 하나 이상의 RunsetGroupKey
오브젝트를 전달합니다.
class RunsetGroupKey
메트릭 유형 및 값으로 runset을 그룹화합니다. RunsetGroup
의 일부입니다. 그룹화할 메트릭 유형 및 값을 키-값 쌍으로 지정합니다.
Attributes:
key
(Type[str] | Type[Config] | Type[SummaryMetric] | Type[Metric]): 그룹화할 메트릭 유형입니다.
value
(str): 그룹화할 메트릭 값입니다.
class ScalarChart
스칼라 차트를 표시하는 패널 오브젝트입니다.
Attributes:
title
(Optional[str]): 플롯 상단에 표시되는 텍스트입니다.
metric
(MetricType): 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 메트릭 이름입니다.
groupby_aggfunc
(Optional[GroupAgg]): 지정된 함수로 run을 집계합니다. 옵션에는 mean
, min
, max
, median
, sum
, samples
또는 None
이 있습니다.
groupby_rangefunc
(Optional[GroupArea]): 범위를 기준으로 run을 그룹화합니다. 옵션에는 minmax
, stddev
, stderr
, none
, samples
또는 None
이 있습니다.
custom_expressions
(Optional[LList[str]]): 스칼라 차트에 사용할 사용자 정의 표현식 목록입니다.
legend_template
(Optional[str]): 범례 템플릿입니다.
font_size Optional[FontSize]
: 선 플롯 글꼴 크기입니다. 옵션에는 small
, medium
, large
, auto
또는 None
이 있습니다.
class ScatterPlot
2D 또는 3D 산점도를 표시하는 패널 오브젝트입니다.
Arguments:
title
(Optional[str]): 플롯 상단에 표시되는 텍스트입니다.
x Optional[SummaryOrConfigOnlyMetric]
: 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 메트릭 이름입니다. 지정된 메트릭은 x축에 사용됩니다.
y Optional[SummaryOrConfigOnlyMetric]
: 리포트가 정보를 가져오는 W&B 프로젝트에 기록된 하나 이상의 메트릭입니다. 지정된 메트릭은 y축 내에 플로팅됩니다. z Optional[SummaryOrConfigOnlyMetric]:
range_x
(Tuple[float | None
, float | None
]): x축의 범위를 지정하는 튜플입니다.
range_y
(Tuple[float | None
, float | None
]): y축의 범위를 지정하는 튜플입니다.
range_z
(Tuple[float | None
, float | None
]): z축의 범위를 지정하는 튜플입니다.
log_x
(Optional[bool]): 밑이 10인 로그 스케일을 사용하여 x좌표를 플로팅합니다.
log_y
(Optional[bool]): 밑이 10인 로그 스케일을 사용하여 y좌표를 플로팅합니다.
log_z
(Optional[bool]): 밑이 10인 로그 스케일을 사용하여 z좌표를 플로팅합니다.
running_ymin
(Optional[bool]): 이동 평균 또는 롤링 평균을 적용합니다.
running_ymax
(Optional[bool]): 이동 평균 또는 롤링 평균을 적용합니다.
running_ymean
(Optional[bool]): 이동 평균 또는 롤링 평균을 적용합니다.
legend_template
(Optional[str]): 범례 형식을 지정하는 문자열입니다.
gradient
(Optional[LList[GradientPoint]]): 플롯의 색상 그레이디언트를 지정하는 그레이디언트 점 목록입니다.
font_size
(Optional[FontSize]): 선 플롯 글꼴 크기입니다. 옵션에는 small
, medium
, large
, auto
또는 None
이 있습니다.
regression
(Optional[bool]): True
이면 산점도에 회귀선이 플로팅됩니다.
class SoundCloud
SoundCloud 플레이어를 렌더링하는 블록입니다.
Attributes:
html
(str): SoundCloud 플레이어를 포함할 HTML 코드입니다.
class Spotify
Spotify 플레이어를 렌더링하는 블록입니다.
Attributes:
spotify_id
(str): 트랙 또는 재생 목록의 Spotify ID입니다.
class SummaryMetric
리포트에 표시할 요약 메트릭입니다.
Attributes:
class TableOfContents
리포트에 지정된 H1, H2 및 H3 HTML 블록을 사용하여 섹션 및 하위 섹션 목록을 포함하는 블록입니다.
인라인 주석이 있는 텍스트 블록입니다.
Attributes:
Twitter 피드를 표시하는 블록입니다.
Attributes:
html
(str): Twitter 피드를 표시할 HTML 코드입니다.
class UnorderedList
글머리 기호 목록의 항목 목록입니다.
Attributes:
items
(LList[str]): 하나 이상의 UnorderedListItem
오브젝트 목록입니다.
class UnorderedListItem
순서가 지정되지 않은 목록의 목록 항목입니다.
Attributes:
text
(str): 목록 항목의 텍스트입니다.
class Video
비디오를 렌더링하는 블록입니다.
Attributes:
class WeaveBlockArtifact
W&B에 기록된 아티팩트를 표시하는 블록입니다. 쿼리는 다음과 같은 형식을 취합니다.
project('entity', 'project').artifact('artifact-name')
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
Attributes:
entity
(str): 아티팩트가 저장된 프로젝트를 소유하거나 적절한 권한을 가진 entity입니다.
project
(str): 아티팩트가 저장된 프로젝트입니다.
artifact
(str): 검색할 아티팩트 이름입니다.
tab Literal["overview", "metadata", "usage", "files", "lineage"]
: 아티팩트 패널에 표시할 탭입니다.
class WeaveBlockArtifactVersionedFile
W&B 아티팩트에 기록된 버전 관리 파일을 표시하는 블록입니다. 쿼리는 다음과 같은 형식을 취합니다.
project('entity', 'project').artifactVersion('name', 'version').file('file-name')
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
Attributes:
entity
(str): 아티팩트가 저장된 프로젝트를 소유하거나 적절한 권한을 가진 entity입니다.
project
(str): 아티팩트가 저장된 프로젝트입니다.
artifact
(str): 검색할 아티팩트 이름입니다.
version
(str): 검색할 아티팩트 버전입니다.
file
(str): 검색할 아티팩트에 저장된 파일 이름입니다.
class WeaveBlockSummaryTable
W&B에 기록된 W&B Table, pandas DataFrame, 플롯 또는 기타 값을 표시하는 블록입니다. 쿼리는 다음과 같은 형식을 취합니다.
project('entity', 'project').runs.summary['value']
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
Attributes:
entity
(str): 값이 기록된 프로젝트를 소유하거나 적절한 권한을 가진 entity입니다.
project
(str): 값이 기록된 프로젝트입니다.
table_name
(str): 테이블, DataFrame, 플롯 또는 값의 이름입니다.
class WeavePanel
쿼리를 사용하여 사용자 정의 콘텐츠를 표시하는 데 사용할 수 있는 빈 쿼리 패널입니다.
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
class WeavePanelArtifact
W&B에 기록된 아티팩트를 표시하는 패널입니다.
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
Attributes:
artifact
(str): 검색할 아티팩트 이름입니다.
tab Literal["overview", "metadata", "usage", "files", "lineage"]
: 아티팩트 패널에 표시할 탭입니다.
class WeavePanelArtifactVersionedFile
W&B 아티팩트에 기록된 버전 관리 파일을 표시하는 패널입니다.
project('entity', 'project').artifactVersion('name', 'version').file('file-name')
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
Attributes:
artifact
(str): 검색할 아티팩트 이름입니다.
version
(str): 검색할 아티팩트 버전입니다.
file
(str): 검색할 아티팩트에 저장된 파일 이름입니다.
class WeavePanelSummaryTable
W&B에 기록된 W&B Table, pandas DataFrame, 플롯 또는 기타 값을 표시하는 패널입니다. 쿼리는 다음과 같은 형식을 취합니다.
API 이름의 “Weave"라는 용어는 LLM을 추적하고 평가하는 데 사용되는 W&B Weave 툴킷을 지칭하지 않습니다.
Attributes:
table_name
(str): 테이블, DataFrame, 플롯 또는 값의 이름입니다.
15.2 - Workspaces
module wandb_workspaces.workspaces
W&B Workspace API를 프로그래밍 방식으로 사용하기 위한 Python 라이브러리입니다.
# 가져오는 방법
import wandb_workspaces.workspaces as ws
# 워크스페이스 생성 예시
ws.Workspace(
name="Example W&B Workspace",
entity="entity", # 워크스페이스를 소유한 entity
project="project", # 워크스페이스가 연결된 project
sections=[
ws.Section(
name="Validation Metrics",
panels=[
wr.LinePlot(x="Step", y=["val_loss"]),
wr.BarPlot(metrics=["val_accuracy"]),
wr.ScalarChart(metric="f1_score", groupby_aggfunc="mean"),
],
is_open=True,
),
],
)
workspace.save()
class RunSettings
runset의 run에 대한 설정입니다 (왼쪽 막대).
속성:
color
(str): UI에서 run의 색상입니다. 16진수 (#ff0000), CSS 색상 (red) 또는 rgb (rgb(255, 0, 0))가 될 수 있습니다.
disabled
(bool): run이 비활성화되었는지 여부입니다 (UI에서 눈이 감김). 기본값은 False
로 설정됩니다.
class RunsetSettings
워크스페이스의 runset (run을 포함하는 왼쪽 막대)에 대한 설정입니다.
속성:
query
(str): runset을 필터링하는 쿼리입니다 (정규식 표현일 수 있음, 다음 매개변수 참조).
regex_query
(bool): 쿼리 (위)가 정규식 표현인지 여부를 제어합니다. 기본값은 False
로 설정됩니다.
filters
(LList[expr.FilterExpr])
: runset에 적용할 필터 목록입니다. 필터는 AND로 결합됩니다. 필터 생성에 대한 자세한 내용은 FilterExpr를 참조하세요.
groupby
(LList[expr.MetricType])
: runset에서 그룹화할 메트릭 목록입니다. Metric
, Summary
, Config
, Tags
또는 KeysInfo
로 설정됩니다.
order
(LList[expr.Ordering])
: runset에 적용할 메트릭 및 순서 지정 목록입니다.
run_settings
(Dict[str, RunSettings])
: run 설정 사전입니다. 여기서 키는 run의 ID이고 값은 RunSettings 오브젝트입니다.
class Section
워크스페이스의 섹션을 나타냅니다.
속성:
name
(str): 섹션의 이름/제목입니다.
panels
(LList[PanelTypes])
: 섹션의 패널 순서가 지정된 목록입니다. 기본적으로 첫 번째는 왼쪽 상단이고 마지막은 오른쪽 하단입니다.
is_open
(bool): 섹션이 열려 있는지 닫혀 있는지 여부입니다. 기본값은 닫힘입니다.
layout_settings
(Literal[
standard,
custom])
: 섹션의 패널 레이아웃에 대한 설정입니다.
panel_settings
: 섹션의 모든 패널에 적용되는 패널 수준 설정입니다. Section
에 대한 WorkspaceSettings
와 유사합니다.
class SectionLayoutSettings
섹션의 패널 레이아웃 설정입니다. 일반적으로 W&B App Workspace UI의 섹션 상단 오른쪽에 표시됩니다.
속성:
layout
(Literal[
standard,
custom])
: 섹션의 패널 레이아웃입니다. standard
는 기본 그리드 레이아웃을 따르고, custom
은 개별 패널 설정에 의해 제어되는 패널별 레이아웃을 허용합니다.
columns
(int): 표준 레이아웃에서 레이아웃의 열 수입니다. 기본값은 3입니다.
rows
(int): 표준 레이아웃에서 레이아웃의 행 수입니다. 기본값은 2입니다.
class SectionPanelSettings
섹션에 대한 패널 설정입니다. 섹션에 대한 WorkspaceSettings
와 유사합니다.
여기에 적용된 설정은 Section < Panel 우선 순위로 더 세분화된 패널 설정으로 재정의할 수 있습니다.
속성:
x_axis
(str): X축 메트릭 이름 설정입니다. 기본적으로 Step
으로 설정됩니다.
x_min Optional[float]
: X축의 최소값입니다.
x_max Optional[float]
: X축의 최대값입니다.
smoothing_type
(Literal[’exponentialTimeWeighted’, ’exponential’, ‘gaussian’, ‘average’, ’none’]): 모든 패널에 적용되는 평활화 유형입니다.
smoothing_weight
(int): 모든 패널에 적용되는 평활화 가중치입니다.
class Workspace
섹션, 설정 및 run set 구성을 포함하는 W&B 워크스페이스를 나타냅니다.
속성:
entity
(str): 이 워크스페이스가 저장될 entity입니다 (일반적으로 사용자 또는 팀 이름).
project
(str): 이 워크스페이스가 저장될 project입니다.
name
: 워크스페이스의 이름입니다.
sections
(LList[Section])
: 워크스페이스의 섹션 순서가 지정된 목록입니다. 첫 번째 섹션이 워크스페이스 상단에 있습니다.
settings
(WorkspaceSettings)
: 워크스페이스에 대한 설정입니다. 일반적으로 UI의 워크스페이스 상단에 표시됩니다.
runset_settings
(RunsetSettings)
: 워크스페이스의 runset (run을 포함하는 왼쪽 막대)에 대한 설정입니다.
property url
W&B 앱의 워크스페이스 URL입니다.
classmethod from_url
URL에서 워크스페이스를 가져옵니다.
method save
현재 워크스페이스를 W&B에 저장합니다.
반환 값:
Workspace
: 저장된 내부 이름 및 ID로 업데이트된 워크스페이스입니다.
method save_as_new_view
현재 워크스페이스를 W&B에 새 뷰로 저장합니다.
반환 값:
Workspace
: 저장된 내부 이름 및 ID로 업데이트된 워크스페이스입니다.
class WorkspaceSettings
워크스페이스에 대한 설정입니다. 일반적으로 UI의 워크스페이스 상단에 표시됩니다.
이 오브젝트에는 X축, 평활화, 이상값, 패널, 툴팁, run 및 패널 쿼리 막대에 대한 설정이 포함됩니다.
여기에 적용된 설정은 Workspace < Section < Panel 우선 순위로 더 세분화된 섹션 및 패널 설정으로 재정의할 수 있습니다.
속성:
x_axis
(str): X축 메트릭 이름 설정입니다.
x_min
(Optional[float])
: X축의 최소값입니다.
x_max
(Optional[float])
: X축의 최대값입니다.
smoothing_type
(Literal['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none'])
: 모든 패널에 적용되는 평활화 유형입니다.
smoothing_weight
(int): 모든 패널에 적용되는 평활화 가중치입니다.
ignore_outliers
(bool): 모든 패널에서 이상값을 무시합니다.
sort_panels_alphabetically
(bool): 모든 섹션에서 패널을 알파벳순으로 정렬합니다.
group_by_prefix
(Literal[
first,
last])
: 패널을 처음 또는 마지막 접두사 (처음 또는 마지막)로 그룹화합니다. 기본값은 last
로 설정됩니다.
remove_legends_from_panels
(bool): 모든 패널에서 범례를 제거합니다.
tooltip_number_of_runs
(Literal[
default,
all,
none])
: 툴팁에 표시할 run 수입니다.
tooltip_color_run_names
(bool): 툴팁에서 run 이름을 runset (True)과 일치하도록 색상을 지정할지 여부 (False)입니다. 기본값은 True
로 설정됩니다.
max_runs
(int): 패널당 표시할 최대 run 수입니다 (이는 runset의 처음 10개 run이 됩니다).
point_visualization_method
(Literal[
line,
point,
line_point])
: 포인트 시각화 방법입니다.
panel_search_query
(str): 패널 검색 막대에 대한 쿼리입니다 (정규식 표현일 수 있음).
auto_expand_panel_search_results
(bool): 패널 검색 결과를 자동으로 확장할지 여부입니다.
16 - watch
주어진 PyTorch 모델에 훅을 연결하여 그레이디언트와 모델의 계산 그래프를 모니터링합니다.
watch(
models: (torch.nn.Module | Sequence[torch.nn.Module]),
criterion: (torch.F | None) = None,
log: (Literal['gradients', 'parameters', 'all'] | None) = "gradients",
log_freq: int = 1000,
idx: (int | None) = None,
log_graph: bool = (False)
) -> None
이 함수는 트레이닝 중 파라미터, 그레이디언트 또는 둘 다를 추적할 수 있습니다. 앞으로 임의의 기계 학습 모델을 지원하도록 확장되어야 합니다.
Args |
|
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) |
|
Raises |
|
ValueError |
wandb.init 이 호출되지 않았거나 모델 중 하나라도 torch.nn.Module 의 인스턴스가 아닌 경우. |