이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.

이 페이지의 일반 화면으로 돌아가기.

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 특정 파라미터입니다. 일반적인 용도로는 권장하지 않습니다.
Returns
Artifact 오브젝트.
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인 경우 동일한 파일 경로를 가진 기존 오브젝트를 덮어씁니다 (해당하는 경우).
Returns
추가된 manifest 항목
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-LengthETag 응답 헤더에 의해 추론됩니다.
  • 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의 파일로 대체할 디렉토리입니다.
Returns
체크아웃된 내용의 경로입니다.
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) 을 사용합니다.
Returns
다운로드된 내용의 경로입니다.
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

소스 보기

finalize() -> None

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 상대 이름으로 해석할 로컬 경로입니다.
Returns
Artifact 상대 이름.

get_entry

소스 보기

get_entry(
    name: StrPath
) -> ArtifactManifestEntry

지정된 이름으로 항목을 가져옵니다.

Args
name 가져올 Artifact 상대 이름입니다.
Returns
W&B 오브젝트.
Raises
ArtifactNotLoggedError Artifact가 기록되지 않았거나 run이 오프라인인 경우.
KeyError Artifact에 지정된 이름의 항목이 포함되어 있지 않은 경우.

get_path

소스 보기

get_path(
    name: StrPath
) -> ArtifactManifestEntry

더 이상 사용되지 않습니다. get_entry(name) 을 사용하십시오.

is_draft

소스 보기

is_draft() -> bool

Artifact가 저장되지 않았는지 확인합니다.

반환 값: Boolean. Artifact가 저장된 경우 False 입니다. Artifact가 저장되지 않은 경우 True 입니다.

json_encode

소스 보기

json_encode() -> dict[str, Any]

Artifact를 JSON 형식으로 인코딩하여 반환합니다.

Returns
Artifact의 속성을 나타내는 string 키가 있는 dict 입니다.

소스 보기

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

소스 보기

new_draft() -> Artifact

커밋된 이 Artifact와 동일한 내용으로 새 초안 Artifact를 만듭니다.

기존 Artifact를 수정하면 “증분 Artifact"라고 하는 새 Artifact 버전이 생성됩니다. 반환된 Artifact는 새 버전으로 확장, 수정 및 기록할 수 있습니다.

Returns
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() -> None

이 Artifact가 현재 포트폴리오 (승격된 Artifact 컬렉션) 의 멤버인 경우 연결을 해제합니다.

Raises
ArtifactNotLoggedError Artifact가 기록되지 않은 경우.
ValueError Artifact가 링크되지 않은 경우, 즉 포트폴리오 컬렉션의 멤버가 아닌 경우.

used_by

소스 보기

used_by() -> list[Run]

이 Artifact를 사용한 run 목록을 가져옵니다.

Returns
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 대기 시간 (초) 입니다.
Returns
Artifact 오브젝트.

__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 추가할 오브젝트입니다.
Returns
추가된 manifest 항목
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

resolve_ref()

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 클래스입니다.

Graph(
    format="keras"
)

이 클래스는 일반적으로 신경망 모델을 저장하고 표시하는 데 사용됩니다. 노드와 엣지의 배열로 그래프를 나타냅니다. 노드는 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

소스 보기

pprint()

__getitem__

소스 보기

__getitem__(
    nid
)

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에 속하는 요소의 수
클래스 변수
MAX_LENGTH 512

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

소스 보기

inject_head() -> None

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
ARG
data_or_path (numpy array, string, io) 이미지 데이터의 numpy array 또는 PIL 이미지를 허용합니다. 클래스는 데이터 형식을 추론하고 변환을 시도합니다.
mode (string) 이미지의 PIL 모드입니다. 가장 일반적인 것은 “L”, “RGB”, “RGBA"입니다. 자세한 설명은 https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes 를 참조하세요.
caption (string) 이미지 표시를 위한 레이블입니다.

참고 : torch.Tensorwandb.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_pathTextIO 스트림인 경우 필수입니다. 파일 경로가 제공되면 이 파라미터는 무시됩니다. 유형은 파일 확장명에서 가져옵니다.

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

메소드

make_plot_media

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 오브젝트입니다. 설정되면 datacolumns 인수는 무시됩니다.
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_ndxTrue로 설정된 경우에만 포함됩니다. row는 기존 열을 키로 사용하는 사전입니다. 이 함수는 해당 행에 대한 새 열을 나타내는 사전을 반환해야 합니다(새 열 이름을 키로 사용).

add_data

View source

add_data(
    *data
)

테이블에 새 데이터 행을 추가합니다. 테이블의 최대 행 수는 wandb.Table.MAX_ARTIFACT_ROWS에 의해 결정됩니다.

데이터 길이는 테이블 열의 길이와 일치해야 합니다.

add_row

View source

add_row(
    *row
)

더 이상 사용되지 않습니다. 대신 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

get_dataframe()

테이블의 pandas.DataFrame을 반환합니다.

get_index

View source

get_index()

다른 테이블에서 링크를 만드는 데 사용할 행 인덱스 배열을 반환합니다.

index_ref

View source

index_ref(
    index
)

테이블에서 행의 인덱스에 대한 참조를 가져옵니다.

iterrows

View source

iterrows()

행의 인덱스 및 관련 데이터를 표시하여 테이블 데이터를 행별로 반환합니다.

Yields

index : int 행의 인덱스입니다. 다른 W&B 테이블에서 이 값을 사용하면 테이블 간에 관계가 자동으로 구축됩니다. row : List[any] 행의 데이터입니다.

set_fk

View source

set_fk(
    col_name, table, table_col
)

set_pk

View source

set_pk(
    col_name
)
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
Class Variables
EXTS

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, projectrun에 대한 기본값을 설정할 수도 있습니다.
속성

메소드

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, 선택 사항) 가져올 아티팩트의 유형입니다.
반환
Artifact 오브젝트입니다.
예외
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, 선택 사항) 지정된 경우 필터링할 프로젝트 이름 또는 경로입니다.
반환
ArtifactType 오브젝트입니다.

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입니다.
반환
새로 생성된 Run입니다.

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)"] } } }
반환
새로 생성된 RunQueue
예외
파라미터가 유효하지 않으면 ValueError wandb API 오류 시 wandb.Error

create_team

소스 보기

create_team(
    team, admin_username=None
)

새 팀을 만듭니다.

ARG
team (str) 팀의 이름
admin_username (str) 팀의 관리자 사용자의 선택적 사용자 이름이며, 기본값은 현재 사용자입니다.
반환
Team 오브젝트

create_user

소스 보기

create_user(
    email, admin=(False)
)

새 사용자를 만듭니다.

ARG
email (str) 사용자의 이메일 주소
admin (bool) 이 사용자가 전역 인스턴스 관리자인지 여부
반환
User 오브젝트

flush

소스 보기

flush()

로컬 캐시를 플러시합니다.

api 오브젝트는 run의 로컬 캐시를 유지하므로 스크립트를 실행하는 동안 run의 상태가 변경될 수 있는 경우 api.flush()로 로컬 캐시를 지워야 합니다. 그래야 run과 관련된 최신 값을 얻을 수 있습니다.

from_path

소스 보기

from_path(
    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, 선택 사항) 지정된 경우 작업 아티팩트를 다운로드할 루트 경로입니다.
반환
Job 오브젝트입니다.

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가 발생합니다.
반환
Project 오브젝트입니다.

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

소스 보기

run(
    path=""
)

entity/project/run_id 형식으로 경로를 파싱하여 단일 run을 반환합니다.

ARG
path (str) entity/project/run_id 형식의 run 경로입니다. api.entity가 설정된 경우 project/run_id 형식일 수 있으며 api.project가 설정된 경우 run_id일 수 있습니다.
반환
Run 오브젝트입니다.

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

소스 보기

sweep(
    path=""
)

entity/project/sweep_id 형식으로 경로를 파싱하여 스윕을 반환합니다.

ARG
path (str, 선택 사항) entity/project/sweep_id 형식의 스윕 경로입니다. api.entity가 설정된 경우 project/sweep_id 형식일 수 있으며 api.project가 설정된 경우 sweep_id일 수 있습니다.
반환
Sweep 오브젝트입니다.

sync_tensorboard

소스 보기

sync_tensorboard(
    root_dir, run_id=None, project=None, entity=None
)

tfevent 파일이 포함된 로컬 디렉토리를 wandb와 동기화합니다.

team

소스 보기

team(
    team: str
) -> "public.Team"

지정된 이름으로 일치하는 Team을 반환합니다.

ARG
team (str) 팀의 이름입니다.
반환
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입니다.
반환
upsert된 RunQueue입니다.
예외
파라미터가 유효하지 않으면 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) 찾을 사용자의 접두사 또는 접미사
반환
User 오브젝트 배열
클래스 변수
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

delete()

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

snake_to_camel(
    string
)

to_html

View source

to_html(
    *args, **kwargs
)

6.3 - Files

File 오브젝트의 반복 가능한 컬렉션입니다.

Files(
    client, run, names=None, per_page=50, upload=(False)
)
속성

메소드

convert_objects

소스 보기

convert_objects()

next

소스 보기

next()

update_variables

소스 보기

update_variables()

__getitem__

소스 보기

__getitem__(
    index
)

__iter__

소스 보기

__iter__()

__len__

소스 보기

__len__()
클래스 변수
QUERY

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

소스 보기

snake_to_camel(
    string
)

sweeps

소스 보기

sweeps()

to_html

소스 보기

to_html(
    height=420, hidden=(False)
)

이 project를 표시하는 iframe을 포함하는 HTML을 생성합니다.

6.6 - Projects

Project 오브젝트의 반복 가능한 컬렉션입니다.

Projects(
    client, entity, per_page=50
)
속성

메소드

convert_objects

소스 보기

convert_objects()

next

소스 보기

next()

update_variables

소스 보기

update_variables()

__getitem__

소스 보기

__getitem__(
    index
)

__iter__

소스 보기

__iter__()

__len__

소스 보기

__len__()
클래스 변수
QUERY

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_finished()

wait_until_running

소스 보기

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

소스 보기

file(
    name
)

아티팩트에서 지정된 이름을 가진 파일의 경로를 반환합니다.

인수
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

소스 보기

load(
    force=(False)
)

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) 이 아티팩트에 적용할 태그(있는 경우)입니다.
반환
Artifact 오브젝트입니다.

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

소스 보기

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

소스 보기

snake_to_camel(
    string
)

to_html

소스 보기

to_html(
    height=420, hidden=(False)
)

이 run을 표시하는 iframe을 포함하는 HTML을 생성합니다.

update

소스 보기

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에서 사용되는 아티팩트를 쉽게 구별하는 데 사용됩니다.
반환
Artifact 오브젝트입니다.

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

소스 보기

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

delete()

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

소스 보기

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

소스 보기

next()

update_variables

소스 보기

update_variables()

__getitem__

소스 보기

__getitem__(
    index
)

__iter__

소스 보기

__iter__()

__len__

소스 보기

__len__()
클래스 변수
QUERY

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

소스 보기

best_run(
    order=None
)

구성에서 정의된 메트릭 또는 전달된 순서에 따라 정렬된 최상의 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

소스 보기

snake_to_camel(
    string
)

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_fromresume_from을 사용할 수 없습니다. resume이 설정되지 않은 경우 시스템은 항상 새 run을 시작합니다. 자세한 내용은 run 다시 시작 가이드를 참조하십시오.
resume_from {run_id}?_step={step} 형식을 사용하여 이전 run에서 run을 다시 시작할 시점을 지정합니다. 이를 통해 사용자는 중간 단계에서 run에 기록된 기록을 자르고 해당 단계부터 로깅을 다시 시작할 수 있습니다. 대상 run은 동일한 project에 있어야 합니다. id 인수가 함께 제공되면 resume_from 인수가 우선합니다. resume, resume_fromfork_from은 함께 사용할 수 없으며, 셋 중 하나만 한 번에 사용할 수 있습니다. 참고: 이 기능은 베타 버전이며 향후 변경될 수 있습니다.
fork_from {id}?_step={step} 형식을 사용하여 이전 run에서 새 run을 포크할 시점을 지정합니다. 이렇게 하면 대상 run 기록의 지정된 단계에서 로깅을 다시 시작하는 새 run이 생성됩니다. 대상 run은 현재 프로젝트의 일부여야 합니다. id 인수가 함께 제공되면 fork_from 인수와 달라야 합니다. 동일하면 오류가 발생합니다. resume, resume_fromfork_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 모듈: wandbKeras와 통합하기 위한 툴입니다.

8.1 - keras

wandbKeras와 통합하기 위한 툴

클래스

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에 대한 요약 메트릭을 설정합니다. 여기서 “최고"는 monitormode 속성에 의해 정의됩니다. 이것은 기본적으로 최소 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_gradientsTrue인 경우 필수입니다.
validation_data model.fit에 전달된 것과 동일한 형식 (X,y)입니다. wandb가 시각화할 데이터 세트입니다. 이것이 설정되면 매 에포크마다 wandb는 적은 수의 예측값을 만들고 나중에 시각화할 수 있도록 결과를 저장합니다. 이미지 데이터를 사용하는 경우 올바르게 로깅하려면 input_typeoutput_type도 설정하십시오.
generator wandb가 시각화할 검증 데이터를 반환하는 제너레이터입니다. 이 제너레이터는 튜플 (X,y)를 반환해야 합니다. wandb가 특정 데이터 예제를 시각화하려면 validate_data 또는 제너레이터를 설정해야 합니다. 이미지 데이터를 사용하는 경우 올바르게 로깅하려면 input_typeoutput_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_processoroutput_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_processoroutput_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

get_flops() -> float

추론 모드에서 tf.keras.Model 또는 tf.keras.Sequential 모델에 대한 FLOPS [GFLOPs]를 계산합니다.

내부적으로 tf.compat.v1.profiler를 사용합니다.

set_model

View source

set_model(
    model
)

set_params

View source

set_params(
    params
)

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_truthadd_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_beginon_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_model(
    model
)

set_params

set_params(
    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_epochmodel.fit에 전달하여 트레이닝을 재개하고 학습률 스케줄러를 사용하는 경우, initial_global_stepWandbMetricsLogger에 전달해야 합니다. initial_global_stepstep_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_model(
    model
)

set_params

set_params(
    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 에 전달됨)로 채워지는 명명된 형식 옵션이 포함될 수 있습니다. 예를 들어 filepathmodel-{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]) 모니터링할 메트릭의 부동 소수점 초기 “최고” 값입니다.
Attributes

메소드

set_model

set_model(
    model
)

set_params

set_params(
    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

소스 보기

get_job_and_queue()

initialized

소스 보기

@classmethod
initialized() -> bool

에이전트가 초기화되었는지 여부를 반환합니다.

loop

소스 보기

loop()

작업을 폴링하고 실행하기 위해 무한 루프합니다.

예외
KeyboardInterrupt 에이전트가 중지 요청을 받은 경우 발생합니다.

name

소스 보기

@classmethod
name() -> str

에이전트의 이름을 반환합니다.

pop_from_queue

소스 보기

pop_from_queue(
    queue
)

runqueue에서 항목을 팝하여 작업으로 실행합니다.

인수
queue 팝할 큐입니다.
반환 값
큐에서 팝된 항목입니다.
예외
Exception 큐에서 팝하는 동안 오류가 발생한 경우 발생합니다.

소스 보기

print_status() -> None

에이전트의 현재 상태를 출력합니다.

run_job

소스 보기

run_job(
    job, queue, file_saver
)

프로젝트를 설정하고 작업을 실행합니다.

인수
job 실행할 작업입니다.

task_run_job

소스 보기

task_run_job(
    launch_spec, job, default_config, api, job_tracker
)

update_status

소스 보기

update_status(
    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 호출을 사용하여 stepcommit 파라미터로 동일한 단계에 기록할 수 있습니다. 다음은 모두 동일합니다.

# 일반적인 사용법:
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, floatstring; wandb.data_types; 직렬화 가능한 Python 오브젝트의 목록, 튜플 및 NumPy 배열; 이 구조의 다른 dict) 가 있는 dict 입니다.
step 기록할 단계 번호입니다. None 인 경우 암시적 자동 증가 단계가 사용됩니다. 설명의 메모를 참조하세요.
commit true이면 단계를 완료하고 업로드합니다. false이면 단계에 대한 데이터를 누적합니다. 설명의 메모를 참조하세요. stepNone 이면 기본값은 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 서버로 자격 증명을 확인합니다.
Returns
bool 키가 구성된 경우
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

소스 보기

detach() -> None

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의 그룹 이름으로 기본 설정됩니다.
반환
Artifact 오브젝트입니다.

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(
    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” 에일리어스는 항상 연결된 아티팩트의 최신 버전에 적용됩니다.
반환
None

소스 보기

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 이름에 잘못된 특수 문자가 있는 경우
반환
None

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 호출을 사용하여 stepcommit 파라미터로 동일한 단계에 기록할 수 있습니다. 다음은 모두 동일합니다.

# 일반적인 사용법:
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, floatstring). wandb.data_types, 직렬화 가능한 Python 오브젝트의 목록, 튜플 및 NumPy 배열, 이 구조의 다른 dict를 포함합니다.
step 기록할 단계 번호입니다. None인 경우 암시적 자동 증가 단계가 사용됩니다. 설명에서 참고 사항을 참조하세요.
commit True이면 단계를 완료하고 업로드합니다. False이면 단계에 대한 데이터를 축적합니다. 설명에서 참고 사항을 참조하세요. stepNone이면 기본값은 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, 선택 사항) 이 아티팩트에 적용할 태그입니다(있는 경우).
반환
Artifact 오브젝트입니다.

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()

고급 사용법

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 이름에 잘못된 특수 문자가 있는 경우
반환
None

mark_preempting

소스 보기

mark_preempting() -> None

이 run을 선점하는 것으로 표시합니다.

또한 내부 프로세스에 이를 즉시 서버에 보고하도록 지시합니다.

project_name

소스 보기

project_name() -> str

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

소스 보기

status() -> RunStatus

내부 백엔드에서 현재 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의 그룹 이름으로 기본 설정됩니다.
반환
Artifact 오브젝트입니다.

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에 표시됩니다.
반환
Artifact 오브젝트입니다.

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__

소스 보기

__enter__() -> Run

__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:

  • text (str): 콜아웃 텍스트입니다.

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']): 코드 차이점을 표시하는 방법입니다. 옵션에는 splitunified가 있습니다.

class Config

run의 config 오브젝트에 기록된 메트릭입니다. Config 오브젝트는 일반적으로 run.config[name] = ...을 사용하거나 키-값 쌍의 사전으로 config를 전달하여 기록됩니다. 여기서 키는 메트릭 이름이고 값은 해당 메트릭 값입니다.

Attributes:

  • name (str): 메트릭 이름입니다.

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): 차트에 표시할 문자열입니다.

Reports 및 URL 갤러리를 렌더링하는 블록입니다.

Attributes:

  • items (List[Union[GalleryReport, GalleryURL]]): GalleryReportGalleryURL 오브젝트 목록입니다.

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]]): 범례에 포함할 필드입니다.

URL에 대한 링크입니다.

Attributes:

  • text (Union[str, TextWithInlineComments]): 링크 텍스트입니다.
  • url (str): 링크가 가리키는 URL입니다.

class MarkdownBlock

마크다운 텍스트 블록입니다. 일반적인 마크다운 구문을 사용하는 텍스트를 작성하려는 경우에 유용합니다.

Attributes:

  • text (str): 마크다운 텍스트입니다.

class MarkdownPanel

마크다운을 렌더링하는 패널입니다.

Attributes:

  • markdown (str): 마크다운 패널에 표시할 텍스트입니다.

class MediaBrowser

미디어 파일을 그리드 레이아웃으로 표시하는 패널입니다.

Attributes:

  • num_columns (Optional[int]): 그리드의 열 수입니다.
  • media_keys (LList[str]): 미디어 파일에 해당하는 미디어 키 목록입니다.

class Metric

프로젝트에 기록된 리포트에 표시할 메트릭입니다.

Attributes:

  • name (str): 메트릭 이름입니다.

class OrderBy

정렬할 메트릭입니다.

Attributes:

  • name (str): 메트릭 이름입니다.
  • ascending (bool): 오름차순으로 정렬할지 여부입니다. 기본적으로 False로 설정됩니다.

class OrderedList

번호 매겨진 목록의 항목 목록입니다.

Attributes:

  • items (LList[str]): 하나 이상의 OrderedListItem 오브젝트 목록입니다.

class OrderedListItem

순서가 지정된 목록의 목록 항목입니다.

Attributes:

  • text (str): 목록 항목의 텍스트입니다.

class P

텍스트 단락입니다.

Attributes:

  • text (str): 단락 텍스트입니다.

class Panel

패널 그리드에 시각화를 표시하는 패널입니다.

Attributes:

  • layout (Layout): Layout 오브젝트입니다.

class PanelGrid

runset 및 패널로 구성된 그리드입니다. RunsetPanel 오브젝트를 사용하여 각각 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:

  • name (str): 메트릭 이름입니다.

class TableOfContents

리포트에 지정된 H1, H2 및 H3 HTML 블록을 사용하여 섹션 및 하위 섹션 목록을 포함하는 블록입니다.


class TextWithInlineComments

인라인 주석이 있는 텍스트 블록입니다.

Attributes:

  • text (str): 블록 텍스트입니다.

class Twitter

Twitter 피드를 표시하는 블록입니다.

Attributes:

  • html (str): Twitter 피드를 표시할 HTML 코드입니다.

class UnorderedList

글머리 기호 목록의 항목 목록입니다.

Attributes:

  • items (LList[str]): 하나 이상의 UnorderedListItem 오브젝트 목록입니다.

class UnorderedListItem

순서가 지정되지 않은 목록의 목록 항목입니다.

Attributes:

  • text (str): 목록 항목의 텍스트입니다.

class Video

비디오를 렌더링하는 블록입니다.

Attributes:

  • url (str): 비디오 URL입니다.

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, 플롯 또는 기타 값을 표시하는 패널입니다. 쿼리는 다음과 같은 형식을 취합니다.

runs.summary['value']

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

from_url(url: str)

URL에서 워크스페이스를 가져옵니다.


method save

save()

현재 워크스페이스를 W&B에 저장합니다.

반환 값:

  • Workspace: 저장된 내부 이름 및 ID로 업데이트된 워크스페이스입니다.

method save_as_new_view

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의 인스턴스가 아닌 경우.