메인 콘텐츠로 건너뛰기
GitHub source

class Artifact

데이터셋 및 모델 버전 관리를 위한 유연하고 가벼운 빌딩 블록입니다. 비어 있는 W&B Artifact를 생성합니다. add로 시작하는 메소드를 사용하여 아티팩트 콘텐츠를 채웁니다. 아티팩트에 원하는 파일이 모두 포함되면 run.log_artifact()를 호출하여 로그를 남길 수 있습니다.

method Artifact.__init__

__init__(
    name: 'str',
    type: 'str',
    description: 'str | None' = None,
    metadata: 'dict[str, Any] | None' = None,
    incremental: 'bool' = False,
    use_as: 'str | None' = None,
    storage_region: 'str | None' = None
) → None
Args:
  • name (str): 아티팩트의 식별 이름입니다. W&B 앱 UI나 프로그래밍 방식으로 특정 아티팩트를 식별하는 데 사용합니다. use_artifact Public API를 통해 아티팩트를 대화형으로 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈, 점을 포함할 수 있으며, 프로젝트 내에서 고유해야 합니다.
  • type (str): 아티팩트의 타입입니다. 아티팩트를 구성하고 구분하는 데 사용합니다. 문자, 숫자, 밑줄, 하이픈, 점을 포함하는 모든 문자열을 사용할 수 있습니다. 일반적인 타입으로는 dataset 또는 model이 있습니다. 아티팩트를 W&B 모델 레지스트리에 연결하려면 타입 문자열에 model을 포함하세요. 일부 타입은 내부 용도로 예약되어 있어 사용자가 설정할 수 없습니다. (예: job, wandb-로 시작하는 타입 등)
  • description (str | None) = None: 아티팩트에 대한 설명입니다. 모델 또는 데이터셋 Artifacts의 경우, 표준화된 팀 모델이나 데이터셋 카드를 위한 문서를 추가하세요. Artifact.description 속성이나 W&B 앱 UI를 통해 설명을 확인할 수 있습니다. W&B는 앱에서 이 설명을 마크다운으로 렌더링합니다.
  • metadata (dict[str, Any] | None) = None: 아티팩트에 대한 추가 정보입니다. 메타데이터를 키-값 쌍의 사전 형태로 지정하며, 총 100개 이하의 키를 지정할 수 있습니다.
  • incremental: 기존 아티팩트를 수정하려면 대신 Artifact.new_draft() 메소드를 사용하세요.
  • use_as: 지원 중단됨(Deprecated).
Returns: Artifact 오브젝트.

property Artifact.aliases

아티팩트 버전에 할당된 하나 이상의 의미 있는 참조 또는 식별용 “닉네임” 리스트입니다. 에일리어스는 프로그래밍 방식으로 참조할 수 있는 가변 참조입니다. W&B 앱 UI 또는 프로그래밍 방식으로 아티팩트의 에일리어스를 변경할 수 있습니다. 자세한 내용은 새 아티팩트 버전 생성을 참조하세요. Returns:
  • list[str]: aliases 속성 값.

property Artifact.collection

이 아티팩트를 가져온 컬렉션입니다. 컬렉션은 아티팩트 버전들의 정렬된 그룹입니다. 이 아티팩트가 연결된 컬렉션에서 가져온 것이라면 해당 컬렉션을 반환합니다. 그렇지 않으면 아티팩트 버전이 시작된 컬렉션을 반환합니다. 아티팩트가 시작된 컬렉션은 소스 시퀀스(source sequence)라고도 합니다. Returns:
  • ArtifactCollection: collection 속성 값.

property Artifact.commit_hash

이 아티팩트가 커밋될 때 반환된 해시입니다. Returns:
  • str: commit_hash 속성 값.

property Artifact.created_at

아티팩트가 생성된 타임스탬프입니다. Returns:
  • str: created_at 속성 값.

property Artifact.description

아티팩트에 대한 설명입니다. Returns:
  • str | None: description 속성 값.

property Artifact.digest

아티팩트의 논리적 다이제스트입니다. 다이제스트는 아티팩트 콘텐츠의 체크섬입니다. 아티팩트의 다이제스트가 현재 latest 버전과 동일한 경우, log_artifact는 아무런 작업도 수행하지 않습니다. Returns:
  • str: digest 속성 값.

property Artifact.entity

아티팩트 컬렉션이 속한 엔티티의 이름입니다. 아티팩트가 링크인 경우, 엔티티는 링크된 아티팩트의 엔티티가 됩니다. Returns:
  • str: entity 속성 값.

property Artifact.file_count

파일의 수(참조 포함)입니다. Returns:
  • int: file_count 속성 값.

property Artifact.history_step

이 아티팩트의 소스 run에 대해 히스토리 메트릭이 로그된 가장 가까운 스텝입니다. Examples:
run = artifact.logged_by()
if run and (artifact.history_step is not None):
    history = run.sample_history(
        min_step=artifact.history_step,
        max_step=artifact.history_step + 1,
        keys=["my_metric"],
    )
Returns:
  • int | None: history_step 속성 값.

property Artifact.id

아티팩트의 ID입니다. Returns:
  • str | None: id 속성 값.

아티팩트가 링크 아티팩트인지 여부를 나타내는 불리언 플래그입니다. True: 소스 아티팩트에 대한 링크 아티팩트입니다. False: 소스 아티팩트 자체입니다. Returns:
  • bool: is_link 속성 값.

property Artifact.linked_artifacts

소스 아티팩트에 연결된 모든 링크된 아티팩트의 리스트를 반환합니다. 이 아티팩트가 링크 아티팩트인 경우(artifact.is_link == True), 빈 리스트를 반환합니다. 결과는 500개로 제한됩니다. Returns:
  • list[Artifact]: linked_artifacts 속성 값.

property Artifact.manifest

아티팩트의 매니페스트입니다. 매니페스트는 모든 콘텐츠 목록을 포함하며, 아티팩트가 로그된 후에는 변경할 수 없습니다. Returns:
  • ArtifactManifest: manifest 속성 값.

property Artifact.metadata

사용자 정의 아티팩트 메타데이터입니다. 아티팩트와 연결된 구조화된 데이터입니다. Returns:
  • dict: metadata 속성 값.

property Artifact.name

아티팩트 이름과 버전입니다. {collection}:{alias} 형식의 문자열입니다. 아티팩트가 로그/저장되기 전에 가져온 경우 이름에 에일리어스가 포함되지 않습니다. 아티팩트가 링크인 경우 이름은 링크된 아티팩트의 이름이 됩니다. Returns:
  • str: name 속성 값.

property Artifact.project

아티팩트 컬렉션이 속한 프로젝트의 이름입니다. 아티팩트가 링크인 경우, 프로젝트는 링크된 아티팩트의 프로젝트가 됩니다. Returns:
  • str: project 속성 값.

property Artifact.qualified_name

아티팩트의 전체 이름(entity/project/name)입니다. 아티팩트가 링크인 경우, qualified name은 링크된 아티팩트 경로의 전체 이름이 됩니다. Returns:
  • str: qualified_name 속성 값.

property Artifact.size

아티팩트의 총 크기(바이트)입니다. 이 아티팩트에서 추적하는 모든 참조가 포함됩니다. Returns:
  • int: size 속성 값.

property Artifact.source_artifact

원래 로그된 아티팩트인 소스 아티팩트를 반환합니다. 이 아티팩트가 소스 아티팩트인 경우(artifact.is_link == False), 자기 자신을 반환합니다. Returns:
  • Artifact: source_artifact 속성 값.

property Artifact.source_collection

아티팩트의 소스 컬렉션입니다. 소스 컬렉션은 아티팩트가 처음 로그된 컬렉션입니다. Returns:
  • ArtifactCollection: source_collection 속성 값.

property Artifact.source_entity

소스 아티팩트의 엔티티 이름입니다. Returns:
  • str: source_entity 속성 값.

property Artifact.source_name

소스 아티팩트의 이름과 버전입니다. {source_collection}:{alias} 형식의 문자열입니다. 아티팩트가 저장되기 전에는 버전을 아직 알 수 없으므로 이름만 포함됩니다. Returns:
  • str: source_name 속성 값.

property Artifact.source_project

소스 아티팩트의 프로젝트 이름입니다. Returns:
  • str: source_project 속성 값.

property Artifact.source_qualified_name

소스 아티팩트의 source_entity/source_project/source_name입니다. Returns:
  • str: source_qualified_name 속성 값.

property Artifact.source_version

소스 아티팩트의 버전입니다. v{number} 형식의 문자열입니다. Returns:
  • str: source_version 속성 값.

property Artifact.state

아티팩트의 상태입니다. “PENDING”, “COMMITTED”, 또는 “DELETED” 중 하나입니다. Returns:
  • str: state 속성 값.

property Artifact.tags

이 아티팩트 버전에 할당된 하나 이상의 태그 리스트입니다. Returns:
  • list[str]: tags 속성 값.

property Artifact.ttl

아티팩트의 TTL(time-to-live) 정책입니다. 아티팩트는 TTL 정책 기간이 지난 직후에 삭제됩니다. None으로 설정하면 TTL 정책이 비활성화되며, 팀 기본 TTL이 있더라도 삭제 예약이 되지 않습니다. 팀 관리자가 기본 TTL을 정의하고 아티팩트에 별도의 정책이 설정되어 있지 않으면 팀 기본값을 상속받습니다. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되거나 저장되지 않은 경우 상속된 TTL을 가져올 수 없습니다.
Returns:
  • timedelta | None: ttl 속성 값.

property Artifact.type

아티팩트의 타입입니다. 일반적인 타입으로는 dataset 또는 model이 있습니다. Returns:
  • str: type 속성 값.

property Artifact.updated_at

아티팩트가 마지막으로 업데이트된 시간입니다. Returns:
  • str: updated_at 속성 값.

property Artifact.url

아티팩트의 URL을 구성합니다. Returns:
  • str: 아티팩트의 URL.
Returns:
  • str: url 속성 값.

property Artifact.use_as

지원 중단됨(Deprecated). Returns:
  • str | None: use_as 속성 값.

property Artifact.version

아티팩트의 버전입니다. v{number} 형식의 문자열입니다. 링크 아티팩트인 경우, 버전은 링크된 컬렉션의 버전이 됩니다. Returns:
  • str: version 속성 값.

method Artifact.add

add(
    obj: 'WBValue',
    name: 'StrPath',
    overwrite: 'bool' = False
) → ArtifactManifestEntry
wandb.WBValue obj를 아티팩트에 추가합니다. Args:
  • obj: 추가할 오브젝트입니다. 현재 Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D 중 하나를 지원합니다.
  • name: 오브젝트를 추가할 아티팩트 내의 경로입니다.
  • overwrite: True인 경우, 동일한 파일 경로를 가진 기존 오브젝트가 있으면 덮어씁니다.
Returns: 추가된 매니페스트 항목 Raises:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 확정(finalized)되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.

method Artifact.add_dir

add_dir(
    local_path: 'str',
    name: 'str | None' = None,
    skip_cache: 'bool | None' = False,
    policy: "Literal['mutable', 'immutable'] | None" = 'mutable',
    merge: 'bool' = False
) → None
로컬 디렉토리를 아티팩트에 추가합니다. Args:
  • local_path: 로컬 디렉토리의 경로입니다.
  • name: 아티팩트 내의 하위 디렉토리 이름입니다. 지정한 이름은 아티팩트의 type에 따라 중첩되어 W&B 앱 UI에 표시됩니다. 기본값은 아티팩트의 루트입니다.
  • skip_cache: True로 설정하면 업로드하는 동안 파일을 캐시로 복사/이동하지 않습니다.
  • policy: 기본값은 “mutable”입니다.
    • mutable: 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다.
    • immutable: 보호 기능을 비활성화하며, 사용자가 파일을 삭제하거나 변경하지 않는다는 전제하에 작동합니다.
  • merge: False(기본값)인 경우, 이전 add_dir 호출에서 이미 추가된 파일이 있고 그 내용이 변경되었다면 ValueError를 발생시킵니다. True인 경우, 변경된 내용으로 기존 파일을 덮어씁니다. 항상 새 파일을 추가하며 파일은 절대 삭제하지 않습니다. 디렉토리 전체를 교체하려면 add_dir(local_path, name=my_prefix)를 사용하여 디렉토리를 추가할 때 이름을 전달하고, remove(my_prefix)를 호출하여 디렉토리를 삭제한 다음 다시 추가하세요.
Raises:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 확정되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.
  • ValueError: policy는 “mutable” 또는 “immutable”이어야 합니다.

method Artifact.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
로컬 파일을 아티팩트에 추가합니다. Args:
  • local_path: 추가할 파일의 경로입니다.
  • name: 추가할 파일에 대해 아티팩트 내에서 사용할 경로입니다. 기본값은 파일의 basename입니다.
  • is_tmp: True인 경우 충돌을 피하기 위해 파일 이름이 결정론적으로 변경됩니다.
  • skip_cache: True인 경우 업로드 후 파일을 캐시에 복사하지 않습니다.
  • policy: 기본적으로 “mutable”로 설정됩니다. “mutable”로 설정하면 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다. “immutable”로 설정하면 보호 기능을 비활성화하며 사용자가 파일을 삭제하거나 변경하지 않는다는 전제하에 작동합니다.
  • overwrite: True인 경우 파일이 이미 존재하면 덮어씁니다.
Returns: 추가된 매니페스트 항목. Raises:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 확정되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.
  • ValueError: policy는 “mutable” 또는 “immutable”이어야 합니다.

method Artifact.add_reference

add_reference(
    uri: 'ArtifactManifestEntry | str',
    name: 'StrPath | None' = None,
    checksum: 'bool' = True,
    max_objects: 'int | None' = None
) → Sequence[ArtifactManifestEntry]
URI로 표시되는 참조를 아티팩트에 추가합니다. 아티팩트에 추가하는 파일이나 디렉토리와 달리, 참조는 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.get_entry에서 반환된 오브젝트일 수 있습니다.
  • name: 이 참조의 콘텐츠를 배치할 아티팩트 내의 경로입니다.
  • checksum: 참조 URI에 있는 리소스에 대해 체크섬을 수행할지 여부입니다. 체크섬은 자동 무결성 검증을 가능하게 하므로 강력히 권장됩니다. 체크섬을 비활성화하면 아티팩트 생성 속도는 빨라지지만, 참조 디렉토리를 순회하지 않으므로 디렉토리 내의 오브젝트들이 아티팩트에 저장되지 않습니다. 참조 오브젝트를 추가할 때는 checksum=False로 설정하는 것을 권장하며, 이 경우 참조 URI가 변경될 때만 새 버전이 생성됩니다.
  • max_objects: 디렉토리나 버킷 저장소 프리픽스를 가리키는 참조를 추가할 때 고려할 최대 오브젝트 수입니다. 기본적으로 Amazon S3, GCS, Azure 및 로컬 파일에 허용되는 최대 오브젝트 수는 10,000,000개입니다. 다른 URI 스키마에는 최대값이 없습니다.
Returns: 추가된 매니페스트 항목들. Raises:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 확정되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.

method Artifact.checkout

checkout(root: 'str | None' = None) → str
지정된 루트 디렉토리를 아티팩트의 콘텐츠로 교체합니다. 경고: 이 작업은 아티팩트에 포함되지 않은 root 내의 모든 파일을 삭제합니다. Args:
  • root: 이 아티팩트의 파일로 교체할 디렉토리입니다.
Returns: 체크아웃된 콘텐츠의 경로. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.delete

delete(delete_aliases: 'bool' = False) → None
아티팩트와 그 파일을 삭제합니다. 링크된 아티팩트에서 호출된 경우 링크만 삭제되고 소스 아티팩트는 영향을 받지 않습니다. 소스 아티팩트와 컬렉션 사이의 링크를 제거하려면 Artifact.delete() 대신 Artifact.unlink()를 사용하세요. Args:
  • delete_aliases: True로 설정하면 아티팩트와 관련된 모든 에일리어스를 삭제합니다. False인 경우 아티팩트에 기존 에일리어스가 있으면 예외를 발생시킵니다. 아티팩트가 링크된 컬렉션에서 가져온 것인 경우 이 파라미터는 무시됩니다.
Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.download

download(
    root: 'StrPath | None' = None,
    allow_missing_references: 'bool' = False,
    skip_cache: 'bool | None' = None,
    path_prefix: 'StrPath | None' = None,
    multipart: 'bool | None' = None
) → FilePathStr
아티팩트의 콘텐츠를 지정된 루트 디렉토리에 다운로드합니다. root 내에 이미 존재하는 파일은 수정되지 않습니다. root의 콘텐츠를 아티팩트와 정확히 일치시키려면 download를 호출하기 전에 명시적으로 root를 삭제하세요. Args:
  • root: W&B가 아티팩트 파일을 저장하는 디렉토리입니다.
  • allow_missing_references: True로 설정하면 참조된 파일을 다운로드하는 동안 유효하지 않은 참조 경로는 무시됩니다.
  • skip_cache: True로 설정하면 다운로드 시 아티팩트 캐시를 건너뛰고 W&B가 각 파일을 기본 루트 또는 지정된 다운로드 디렉토리로 직접 다운로드합니다.
  • path_prefix: 지정된 경우, 주어진 프리픽스로 시작하는 경로를 가진 파일만 다운로드됩니다. Unix 형식(슬래시)을 사용합니다.
  • multipart: None(기본값)으로 설정하면, 개별 파일 크기가 2GB보다 클 경우 멀티파트 다운로드를 사용하여 병렬로 다운로드합니다. True 또는 False로 설정하면 파일 크기에 관계없이 병렬 또는 순차적으로 다운로드합니다.
Returns: 다운로드된 콘텐츠의 경로. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.file

file(root: 'str | None' = None) → StrPath
단일 파일 아티팩트를 root로 지정한 디렉토리에 다운로드합니다. Args:
  • root: 파일을 저장할 루트 디렉토리입니다. 기본값은 ./artifacts/self.name/입니다.
Returns: 다운로드된 파일의 전체 경로. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.
  • ValueError: 아티팩트에 파일이 두 개 이상 포함된 경우.

method Artifact.files

files(names: 'list[str] | None' = None, per_page: 'int' = 50) → ArtifactFiles
이 아티팩트에 저장된 모든 파일을 반복(iterate)합니다. Args:
  • names: 나열하려는 아티팩트 루트 기준의 파일명 경로들입니다.
  • per_page: 요청당 반환할 파일의 수입니다.
Returns: File 오브젝트들을 포함하는 반복자(iterator). Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.finalize

finalize() → None
아티팩트 버전을 확정합니다. 아티팩트가 특정 아티팩트 버전으로 로그되면 더 이상 수정할 수 없습니다. 아티팩트에 더 많은 데이터를 로그하려면 새 아티팩트 버전을 생성하세요. log_artifact를 사용하여 아티팩트를 로그하면 자동으로 확정됩니다.

method Artifact.get

get(name: 'str') → WBValue | None
아티팩트 상대 경로 name에 위치한 WBValue 오브젝트를 가져옵니다. Args:
  • name: 가져올 아티팩트 상대 이름입니다.
Returns: run.log()로 로그를 남길 수 있고 W&B UI에서 시각화할 수 있는 W&B 오브젝트. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않았거나 run이 오프라인 상태인 경우.

method Artifact.get_added_local_path_name

get_added_local_path_name(local_path: 'str') → str | None
로컬 파일 시스템 경로에 의해 추가된 파일의 아티팩트 상대 이름을 가져옵니다. Args:
  • local_path: 아티팩트 상대 이름으로 변환할 로컬 경로입니다.
Returns: 아티팩트 상대 이름.

method Artifact.get_entry

get_entry(name: 'StrPath') → ArtifactManifestEntry
주어진 이름을 가진 항목을 가져옵니다. Args:
  • name: 가져올 아티팩트 상대 이름
Returns: W&B 오브젝트. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않았거나 run이 오프라인 상태인 경우.
  • KeyError: 아티팩트에 주어진 이름을 가진 항목이 없는 경우.

method Artifact.get_path

get_path(name: 'StrPath') → ArtifactManifestEntry
지원 중단됨. get_entry(name)을 사용하세요.

method Artifact.is_draft

is_draft() → bool
아티팩트가 저장되지 않은 상태인지 확인합니다. Returns: 불리언 값. 아티팩트가 저장되었으면 False, 저장되지 않았으면 True.

method Artifact.json_encode

json_encode() → dict[str, Any]
JSON 형식으로 인코딩된 아티팩트를 반환합니다. Returns: 아티팩트의 속성을 나타내는 string 키를 가진 dict.
link(target_path: 'str', aliases: 'Iterable[str] | None' = None) → Artifact
이 아티팩트를 컬렉션에 연결합니다. Args:
  • target_path: 컬렉션의 경로입니다. 경로는 “wandb-registry-” 프리픽스와 레지스트리 이름 및 컬렉션 이름인 wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}으로 구성됩니다.
  • aliases: 링크된 아티팩트에 하나 이상의 에일리어스를 추가합니다. “latest” 에일리어스는 링크하는 가장 최근 아티팩트에 자동으로 적용됩니다.
Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.
Returns: 링크된 아티팩트.

method Artifact.logged_by

logged_by() → Run | None
원래 아티팩트를 로그한 W&B run을 가져옵니다. Returns: 원래 아티팩트를 로그한 W&B run의 이름. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.new_draft

new_draft() → Artifact
이 커밋된 아티팩트와 동일한 콘텐츠를 가진 새 드래프트 아티팩트를 생성합니다. 기존 아티팩트를 수정하면 “증분 아티팩트(incremental artifact)“라고 하는 새 아티팩트 버전이 생성됩니다. 반환된 아티팩트는 확장하거나 수정하여 새 버전으로 로그할 수 있습니다. Returns: Artifact 오브젝트. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.new_file

new_file(
    name: 'str',
    mode: 'str' = 'x',
    encoding: 'str | None' = None
) → Iterator[IO]
새 임시 파일을 열고 아티팩트에 추가합니다. Args:
  • name: 아티팩트에 추가할 새 파일의 이름입니다.
  • mode: 새 파일을 여는 데 사용할 파일 엑세스 모드입니다.
  • encoding: 새 파일을 여는 데 사용되는 인코딩입니다.
Returns: 쓸 수 있는 새 파일 오브젝트. 파일을 닫으면 자동으로 아티팩트에 추가됩니다. Raises:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 확정되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.

method Artifact.remove

remove(item: 'StrPath | ArtifactManifestEntry') → None
아티팩트에서 항목을 제거합니다. Args:
  • item: 제거할 항목입니다. 특정 매니페스트 항목이거나 아티팩트 상대 경로의 이름일 수 있습니다. 항목이 디렉토리와 일치하면 해당 디렉토리의 모든 항목이 제거됩니다.
Raises:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 확정되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.
  • FileNotFoundError: 아티팩트에서 해당 항목을 찾을 수 없는 경우.

method Artifact.save

save(
    project: 'str | None' = None,
    settings: 'wandb.Settings | None' = None
) → None
아티팩트에 가해진 모든 변경 사항을 영구적으로 저장합니다. 현재 run이 있는 경우 해당 run이 이 아티팩트를 로그합니다. 현재 run이 없는 경우 이 아티팩트를 추적하기 위해 “auto” 타입의 run이 생성됩니다. Args:
  • project: run이 컨텍스트에 없는 경우 아티팩트에 사용할 프로젝트입니다.
  • settings: 자동 run을 초기화할 때 사용할 설정 오브젝트입니다. 주로 테스트 하네스에서 사용됩니다.

unlink() → None
이 아티팩트가 아티팩트 컬렉션의 링크된 멤버인 경우 링크를 해제합니다. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.
  • ValueError: 아티팩트가 어떤 컬렉션에도 링크되어 있지 않은 경우.

method Artifact.used_by

used_by() → list[Run]
이 아티팩트와 링크된 아티팩트들을 사용한 run들의 리스트를 가져옵니다. Returns: Run 오브젝트들의 리스트. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

method Artifact.verify

verify(root: 'str | None' = None) → None
아티팩트의 콘텐츠가 매니페스트와 일치하는지 확인합니다. 디렉토리 내의 모든 파일에 대해 체크섬을 수행하고, 이 체크섬들을 아티팩트 매니페스트와 대조합니다. 참조(References)는 확인되지 않습니다. Args:
  • root: 확인할 디렉토리입니다. None인 경우 아티팩트는 ’./artifacts/self.name/‘으로 다운로드됩니다.
Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.
  • ValueError: 검증에 실패한 경우.

method Artifact.wait

wait(timeout: 'int | None' = None) → Artifact
필요한 경우, 이 아티팩트의 로깅이 완료될 때까지 기다립니다. Args:
  • timeout: 대기할 시간(초)입니다.
Returns: Artifact 오브젝트.