클래스 wandb.Artifact
데이터셋과 모델 버전 관리를 위한 유연하고 가벼운 구성 요소입니다. 빈 W&B 아티팩트를 생성합니다.add로 시작하는 방법으로 아티팩트의 내용을 채우세요. 아티팩트에 원하는 파일이 모두 포함되면 run.log_artifact()를 호출하여 로깅할 수 있습니다.
인수
str
아티팩트의 사람이 읽을 수 있는 이름입니다. W&B App UI 또는 프로그래밍 방식으로 특정 아티팩트를 파악하는 데 이름을 사용하세요.
use_artifact Public API를 사용하여 아티팩트를 대화형으로 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈 및 점이 포함될 수 있습니다. 이름은 프로젝트 전체에서 고유해야 합니다.str
아티팩트의 유형입니다. 아티팩트의 유형을 사용하여 아티팩트를 정리하고 구분하세요. 문자, 숫자, 밑줄, 하이픈 및 점이 포함된 string을 사용할 수 있습니다. 일반적인 유형으로는
dataset 또는 model이 있습니다. 아티팩트를 W&B Model Registry에 연결하려면 유형 string에 model을 포함하세요. 일부 유형은 내부용으로 예약되어 있어 사용자가 설정할 수 없습니다. 이러한 유형에는 job과 wandb-로 시작하는 유형이 포함됩니다.str | None
아티팩트에 대한 설명입니다. 모델 또는 데이터셋 아티팩트의 경우, 표준화된 팀 모델 또는 데이터셋 Card에 대한 문서를 추가하세요.
Artifact.description 속성을 사용하여 아티팩트의 설명을 프로그래밍 방식으로 조회하거나 W&B App UI를 통해 조회하세요. W&B는 W&B App에서 설명을 markdown으로 렌더링합니다.dict[str, Any] | None
아티팩트에 대한 추가 정보입니다. 메타데이터를 키-값 쌍의 딕셔너리로 지정하세요. 총 100개 이하의 키를 지정할 수 있습니다.
bool
기존 아티팩트를 수정하려면
Artifact.new_draft() 방법을 대신 사용하세요.str | None
사용 중단
str | None
설명이 제공되지 않았습니다.
Literal['MD5', 'XXH128']
아티팩트에 사용할 다이제스트 알고리즘입니다. 기본값은 MD5입니다. XXH128로 설정하면 아티팩트가 이미 MD5를 사용하는 컬렉션에 속하지 않는 한 XXH128 알고리즘으로 해시됩니다. 0.29.0 이전 SDK 버전에서는 XXH128 아티팩트에 대해
artifact.verify()를 호출하면 항상 실패합니다.속성
list[str]
아티팩트 버전에 부여된 하나 이상의 의미적으로 친화적인 레퍼런스 또는식별용 “닉네임”의 목록입니다.별칭은 프로그래밍 방식으로 참조할 수 있는 변경 가능한 레퍼런스입니다.
W&B App UI 또는 프로그래밍 방식으로 아티팩트의 별칭을 변경하세요.
자세한 내용은 새 아티팩트 버전 생성을
참조하세요.
ArtifactCollection
이 아티팩트를 가져온 컬렉션입니다.컬렉션은 아티팩트 버전의 정렬된 그룹입니다.
이 아티팩트가 연결된 컬렉션에서 가져온 경우 해당 컬렉션을 반환합니다. 그렇지 않으면 아티팩트 버전이
원래 속한 컬렉션을 반환합니다.아티팩트가 원래 속한 컬렉션을 소스 시퀀스라고 합니다.
str
이 아티팩트가 커밋될 때 반환된 해시입니다.
str
아티팩트가 생성된 타임스탬프입니다.
str | None
아티팩트에 대한 설명입니다.
str
아티팩트의 논리적 다이제스트입니다.다이제스트는 아티팩트 콘텐츠의 체크섬입니다. 아티팩트의 다이제스트가 현재
latest 버전과 동일하면 log_artifact는 no-op입니다.ArtifactDigestAlgorithm
아티팩트의 다이제스트를 계산하는 데 사용된 다이제스트 알고리즘입니다.
str
아티팩트 컬렉션이 속한 entity의 이름입니다.아티팩트가 연결된 경우 entity는 연결된 아티팩트의 entity가 됩니다.
int
파일 수(레퍼런스 포함)입니다.
int | None
이 아티팩트의 소스 run에 대해 이력 메트릭을 로깅한 가장 가까운 step입니다.
str | None
아티팩트의 ID입니다.
bool
아티팩트가 연결된 아티팩트인지 여부를 나타내는 불리언 플래그입니다.True: 아티팩트는 소스 아티팩트에 대한 연결된 아티팩트입니다.
False: 아티팩트는 소스 아티팩트입니다.
list[Artifact]
소스 아티팩트에 연결된 모든 아티팩트의 목록을 반환합니다.이 아티팩트가 연결된 아티팩트인 경우(
artifact.is_link == True) 빈 목록을 반환합니다.최대 500개의 결과로 제한됩니다.str | None
이 아티팩트가 현재 컬렉션에 연결된 시간입니다.연결된 아티팩트에만 유효하며, 그렇지 않으면
None을 반환합니다.ArtifactManifest
아티팩트의 매니페스트입니다.매니페스트는 아티팩트의 모든 콘텐츠를 나열하며, 아티팩트가 로깅된 후에는 변경할 수 없습니다.
dict
사용자 정의 아티팩트 메타데이터입니다.아티팩트와 연결된 구조화된 데이터입니다.
str
아티팩트의 이름과 버전입니다.
{collection}:{alias} 형식의 string입니다. 아티팩트가 로깅/저장되기 전에 가져온 경우 이름에 별칭이 포함되지 않습니다.
아티팩트가 연결된 경우 이름은 연결된 아티팩트의 이름이 됩니다.str
아티팩트 컬렉션이 속한 프로젝트의 이름입니다.아티팩트가 연결된 경우 프로젝트는 연결된 아티팩트의 프로젝트가 됩니다.
str
아티팩트의 entity/project/name입니다.아티팩트가 연결된 경우 정규화된 이름은 연결된 아티팩트 경로의 정규화된 이름이 됩니다.
int
아티팩트의 총 크기(바이트)입니다.이 아티팩트가 추적하는 모든 레퍼런스를 포함합니다.
Artifact
원래 로깅된 아티팩트인 소스 아티팩트를 반환합니다.이 아티팩트가 소스 아티팩트인 경우(
artifact.is_link == False) 자기 자신을 반환합니다.ArtifactCollection
아티팩트의 소스 컬렉션입니다.소스 컬렉션은 아티팩트가 로깅된 컬렉션입니다.
str
소스 아티팩트의 entity 이름입니다.
str
소스 아티팩트의 이름과 버전입니다.
{source_collection}:{alias} 형식의 string입니다. 아티팩트가 저장되기 전에는 버전을 아직 알 수 없으므로 이름만 포함합니다.str
소스 아티팩트가 속한 프로젝트의 이름입니다.
str
소스 아티팩트의 source_entity/source_project/source_name입니다.
str
소스 아티팩트의 버전입니다.
v{number} 형식의 string입니다.str
아티팩트의 상태입니다. “PENDING”, “COMMITTED”, “DELETED” 중 하나입니다.
list[str]
이 아티팩트 버전에 부여된 하나 이상의 태그 목록입니다.
timedelta | None
아티팩트의 TTL(time-to-live) 정책입니다.TTL 정책의 기간이 지나면 아티팩트는 곧 삭제됩니다.
None으로 설정하면 아티팩트의 TTL 정책이 비활성화되어, 팀 기본 TTL이 있더라도 삭제가 예약되지 않습니다.
팀 Admin이 기본 TTL을 정의했고 아티팩트에 맞춤형 정책이 설정되어 있지 않으면, 아티팩트는 팀 기본 TTL 정책을 상속합니다.str
아티팩트의 유형입니다. 일반적인 유형으로는
dataset, model 등이 있습니다.str
아티팩트가 마지막으로 업데이트된 시간입니다.
The URL of the artifact.
아티팩트의 URL을 생성합니다.
str | None
사용 중단.
str
아티팩트의 버전입니다.
v{number} 형식의 string입니다.
연결된 아티팩트인 경우 버전은 연결된 컬렉션의 버전을 따릅니다.방법
방법 Artifact.add()
obj를 아티팩트에 추가합니다.
WBValue
추가할 객체입니다. 현재 Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D 중 하나를 지원합니다.
StrPath
아티팩트 내에서 객체를 추가할 경로입니다.
bool
True인 경우, 해당하는 경우 동일한 파일 경로의 기존 객체를 덮어씁니다.
ArtifactFinalizedError: 현재 아티팩트 버전은 finalized되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.
방법 Artifact.add_dir()
str
로컬 디렉터리의 경로입니다.
str | None
아티팩트 내 하위 디렉터리 이름입니다. 지정한 이름은 W&B App UI에서 아티팩트의
type 아래에 중첩되어 표시됩니다. 아티팩트의 루트를 기본값으로 사용합니다.bool | None
True로 설정하면 W&B는 업로드하는 동안 파일을 캐시에 복사하거나 이동하지 않습니다.Literal['mutable', 'immutable'] | None
기본값은 “mutable”입니다.
- mutable: 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다.
- immutable: 보호를 비활성화하고 사용자가 파일을 삭제하거나 변경하지 않도록 합니다.
bool
False(기본값)인 경우 이전 add_dir 호출에서 이미 추가된 파일이 있고 콘텐츠가 변경되었다면 ValueError를 발생시킵니다. True인 경우 변경된 콘텐츠로 기존 파일을 덮어씁니다. 항상 새 파일을 추가하고 파일을 제거하지 않습니다. 전체 디렉터리를 교체하려면 add_dir(local_path, name=my_prefix)를 사용하여 디렉터리를 추가할 때 이름을 전달하고 remove(my_prefix)를 호출하여 디렉터리를 제거한 다음 다시 추가하세요.ArtifactFinalizedError: 현재 아티팩트 버전은 이미 finalized되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.ValueError: Policy는 “mutable” 또는 “immutable”이어야 합니다.
방법 Artifact.add_file()
str
추가할 파일의 경로입니다.
str | None
추가할 파일에 사용할 아티팩트 내 경로입니다. 기본값은 파일의 basename입니다.
bool | None
true이면 충돌을 방지하기 위해 파일 이름을 결정론적으로 변경합니다.
bool | None
True이면 업로드 후 파일을 캐시에 복사하지 않습니다.Literal['mutable', 'immutable'] | None
기본값은 “mutable”입니다. “mutable”로 설정하면 업로드 중 파일이 손상되지 않도록 임시 사본을 생성합니다. “immutable”로 설정하면 보호 기능을 비활성화하며, 사용자가 파일을 삭제하거나 변경하지 않는다고 가정합니다.
bool
True이면 파일이 이미 있을 경우 덮어씁니다.ArtifactFinalizedError: 현재 아티팩트 버전은 이미 finalized되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.ValueError: Policy는 “mutable” 또는 “immutable”이어야 합니다.
방법 Artifact.add_reference()
- http(s): 파일의 크기와 다이제스트는 서버에서 반환하는
Content-Length및ETag응답 헤더에서 유추됩니다. - s3: 체크섬과 크기는 객체 메타데이터에서 가져옵니다. 버킷 versioning이 활성화된 경우 버전 ID도 추적됩니다.
- gs: 체크섬과 크기는 객체 메타데이터에서 가져옵니다. 버킷 versioning이 활성화된 경우 버전 ID도 추적됩니다.
- https, 도메인이
*.blob.core.windows.net과 일치하는 경우 - Azure: 체크섬과 크기는 블롭 메타데이터에서 가져옵니다. 저장소 계정 versioning이 활성화된 경우 버전 ID도 추적됩니다.
- file: 체크섬과 크기는 파일 시스템에서 가져옵니다. 이 스킴은 NFS 공유나 기타 외부 마운트된 볼륨에 있는 파일을 추적하되 반드시 업로드하지 않으려는 경우에 유용합니다.
ArtifactManifestEntry | str
추가할 레퍼런스의 URI 경로입니다. URI 경로는
Artifact.get_entry에서 반환된 객체일 수 있으며, 다른 아티팩트의 entry에 대한 레퍼런스를 저장합니다.StrPath | None
이 레퍼런스의 콘텐츠를 배치할 아티팩트 내 경로입니다.
bool
레퍼런스 URI에 위치한 리소스(들)의 체크섬을 수행할지 여부입니다. 체크섬은 자동 무결성 검증을 가능하게 하므로 강력히 권장됩니다. 체크섬을 비활성화하면 아티팩트 생성 속도가 빨라지지만, 레퍼런스 디렉터리는 반복되지 않으므로 디렉터리 내 객체는 아티팩트에 저장되지 않습니다. 레퍼런스 객체를 추가할 때는
checksum=False로 설정하는 것을 권장하며, 이 경우 레퍼런스 URI가 변경될 때만 새 버전이 생성됩니다.int | None
디렉터리 또는 버킷 저장소 접두사를 가리키는 레퍼런스를 추가할 때 고려할 최대 객체 수입니다. 기본적으로 Amazon S3, GCS, Azure 및 로컬 파일의 경우 허용되는 최대 객체 수는 10,000,000입니다. 다른 URI 스키마에는 최대값이 없습니다.
ArtifactFinalizedError: 현재 아티팩트 버전은 finalized되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.
방법 Artifact.checkout()
root에 있는 파일 중 아티팩트에 포함되지 않은
파일을 모두 삭제합니다.
str | None
이 아티팩트의 파일로 대체할 디렉터리입니다.
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.delete()
Artifact.delete() 대신 Artifact.unlink()를 사용하세요.
bool
True로 설정하면 아티팩트에 연결된 모든 별칭을 삭제합니다. False인 경우 아티팩트에 기존 별칭이 있으면 예외를 발생시킵니다. 아티팩트를 연결된 컬렉션에서 가져온 경우 이 매개변수는 무시됩니다.ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.download()
root 내에 있는 기존 파일은 수정되지 않습니다. root의 내용이 아티팩트와 정확히 일치하도록 하려면
download를 호출하기 전에 root를 명시적으로
삭제하세요.
StrPath | None
W&B가 아티팩트의 파일을 저장하는 디렉터리입니다.
bool
True로 설정하면 참조된 파일을 다운로드하는 동안 잘못된 레퍼런스 경로는 무시됩니다.bool | None
True로 설정하면 다운로드할 때 아티팩트 캐시를 건너뛰고 W&B는 각 파일을 기본 루트 또는 지정된 다운로드 디렉터리에 다운로드합니다.StrPath | None
지정된 경우 지정된 접두사로 시작하는 경로의 파일만 다운로드됩니다. Unix 형식(슬래시)을 사용합니다.
bool | None
None(기본값)으로 설정하면 개별 파일 크기가 2GB보다 큰 경우 멀티파트 다운로드를 사용하여 아티팩트를 병렬로 다운로드합니다. True 또는 False로 설정하면 파일 크기와 관계없이 아티팩트를 병렬 또는 순차적으로 다운로드합니다.ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.file()
root로 지정한 디렉터리에 단일 파일 아티팩트를 다운로드합니다.
str | None
파일을 저장할 루트 디렉터리입니다. 기본값은
./artifacts/self.name/입니다.ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우.ValueError: 아티팩트에 파일이 두 개 이상 포함된 경우.
방법 Artifact.files()
list[str] | None
목록으로 조회할 파일의 아티팩트 루트 기준 상대 경로입니다.
int
요청당 반환할 파일 수입니다.
str | None
이전 쿼리를 재개하기 위한 페이지 매김 커서로, 이전 페이지 매김 객체의
.cursor 속성에서 캡처한 값입니다.ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.finalize()
log_artifact로 아티팩트를 로깅하면 아티팩트가 자동으로 finalized됩니다.
방법 Artifact.get()
name에 위치한 WBValue 객체를 조회합니다.
str
검색할 아티팩트의 상대 이름입니다.
ArtifactNotLoggedError: 아티팩트가 로깅되지 않았거나 run이 오프라인인 경우.
방법 Artifact.get_added_local_path_name()
str
아티팩트 상대 이름으로 해석할 로컬 경로입니다.
방법 Artifact.get_entry()
StrPath
조회할 아티팩트 상대 이름
ArtifactNotLoggedError: 아티팩트가 로깅되지 않았거나 run이 오프라인인 경우.KeyError: 아티팩트에 주어진 이름의 entry가 포함되어 있지 않은 경우.
방법 Artifact.get_path()
get_entry(name)을 사용하세요.
StrPath
설명이 제공되지 않았습니다.
방법 Artifact.is_draft()
방법 Artifact.json_encode()
방법 Artifact.link()
str
컬렉션의 경로입니다. 경로는 “wandb-registry-” 접두사와 레지스트리 이름, 컬렉션 이름으로 구성됩니다.
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}.Iterable[str] | None
연결된 아티팩트에 하나 이상의 별칭을 추가합니다. “latest” 별칭은 연결하는 가장 최근 아티팩트에 자동으로 적용됩니다.
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.logged_by()
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.new_draft()
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.new_file()
str
아티팩트에 추가할 새 파일의 이름입니다.
str
새 파일을 열 때 사용할 파일 액세스 모드입니다.
str | None
새 파일을 열 때 사용할 인코딩입니다.
Literal['mutable', 'immutable']
기본값은 “mutable”입니다. “mutable”로 설정하면 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다. “immutable”로 설정하면 보호 기능을 비활성화하며, 사용자가 파일을 삭제하거나 변경하지 않아야 합니다.
ArtifactFinalizedError: 현재 아티팩트 버전은 finalized되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.
방법 Artifact.remove()
StrPath | ArtifactManifestEntry
제거할 항목입니다. 특정 매니페스트 entry이거나 아티팩트 상대 경로의 이름일 수 있습니다. 항목이 디렉터리와 일치하면 해당 디렉터리의 모든 항목이 제거됩니다.
ArtifactFinalizedError: 현재 아티팩트 버전이 finalized되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.FileNotFoundError: 아티팩트에서 항목을 찾을 수 없는 경우.
방법 Artifact.save()
str | None
컨텍스트에 run이 아직 없는 경우 아티팩트에 사용할 프로젝트입니다.
wandb.Settings | None
자동 run을 초기화할 때 사용할 설정 객체입니다. 주로 테스트 하니스에서 사용됩니다.
방법 Artifact.unlink()
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우.ValueError: 아티팩트가 어떤 컬렉션에도 연결되지 않은 경우.
방법 Artifact.used_by()
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
방법 Artifact.verify()
str | None
확인할 디렉터리입니다. None이면 아티팩트가 ’./artifacts/self.name/‘에 다운로드됩니다.
ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우.ValueError: 확인에 실패한 경우.
방법 Artifact.wait()
int | None
대기 시간(초)입니다.