메인 콘텐츠로 건너뛰기
GitHub 소스

class Artifact

데이터셋과 모델 버저닝을 위한 유연하고 가벼운 구성 요소입니다. 빈 W&B Artifact를 생성합니다. add로 시작하는 메서드를 사용해 Artifact의 내용을 채우세요. Artifact에 원하는 파일을 모두 추가한 후 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
인수:
  • name (str): 아티팩트의 사람이 읽을 수 있는 이름입니다. 이 이름을 사용해 W&B App UI 또는 프로그램 코드에서 특정 아티팩트를 식별합니다. use_artifact Public API로 아티팩트를 대화형으로 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈, 마침표를 포함할 수 있습니다. 이름은 프로젝트 전체에서 고유해야 합니다.
  • type (str): 아티팩트의 타입입니다. 아티팩트의 타입을 사용해 아티팩트를 구성하고 구분할 수 있습니다. 문자, 숫자, 밑줄, 하이픈, 마침표를 포함하는 임의의 문자열을 사용할 수 있습니다. 일반적인 타입으로는 dataset 또는 model이 있습니다. 아티팩트를 W&B Model Registry에 연결하려면 타입 문자열에 model을 포함하세요. 일부 타입은 내부용으로 예약되어 있으며 사용자가 설정할 수 없습니다. 예로는 jobwandb-로 시작하는 타입이 있습니다.
  • description (str | None) = None: 아티팩트에 대한 설명입니다. Model 또는 Dataset Artifacts의 경우, 팀에서 표준화한 모델 또는 데이터셋 카드에 대한 문서를 추가하세요. 아티팩트의 설명은 Artifact.description 속성을 통해 프로그램적으로 확인하거나 W&B App UI에서 확인할 수 있습니다. W&B는 설명을 W&B App에서 마크다운으로 렌더링합니다.
  • metadata (dict[str, Any] | None) = None: 아티팩트에 대한 추가 정보입니다. 메타데이터는 키-값 쌍의 사전으로 지정합니다. 키는 최대 100개까지만 지정할 수 있습니다.
  • incremental: 기존 아티팩트를 수정하려면 대신 Artifact.new_draft() 메서드를 사용하세요.
  • use_as: 사용이 중단되었습니다.
반환값: Artifact 객체.

property Artifact.aliases

하나 이상의 의미를 잘 드러내는 참조나 아티팩트 버전에 할당된 식별용 “별칭” 목록입니다. 별칭은 프로그래밍 방식으로 참조할 수 있는 변경 가능한 참조입니다. W&B App UI 또는 프로그래밍 방식으로 아티팩트의 별칭을 변경할 수 있습니다. 자세한 내용은 Create new artifact versions를 참조하세요. Returns:
  • list[str]: aliases 속성 값.

property Artifact.collection

이 아티팩트를 가져오는 컬렉션입니다. 컬렉션은 아티팩트 버전들의 순서가 있는 그룹입니다. 이 아티팩트가 연결된 컬렉션에서 가져온 경우에는 해당 컬렉션을 반환합니다. 그렇지 않으면 아티팩트 버전이 처음 생성된 컬렉션을 반환합니다. 아티팩트가 생성된 컬렉션을 소스 시퀀스라고 합니다. 반환값:
  • ArtifactCollection: collection 프로퍼티 값.

property Artifact.commit_hash

이 아티팩트가 커밋되었을 때의 해시입니다. 반환값:
  • str: commit_hash 프로퍼티의 값.

property Artifact.created_at

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

property Artifact.description

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

property Artifact.digest

아티팩트의 논리적 다이제스트입니다. 다이제스트는 아티팩트 내용의 체크섬입니다. 어떤 아티팩트의 다이제스트가 현재 latest 버전의 것과 동일하다면, log_artifact 호출은 아무 동작도 하지 않습니다. 반환값:
  • str: 다이제스트 속성 값.

property Artifact.entity

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

property Artifact.file_count

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

property Artifact.history_step

이 아티팩트의 소스 run에서 히스토리 메트릭이 기록된 step 중 가장 최근 step입니다. 예시:
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"],
     )
반환값:
  • 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

사용자가 정의한 아티팩트 메타데이터입니다. 아티팩트와 연관된 구조화된 데이터입니다. 반환 값:
  • dict: metadata 프로퍼티 값.

property Artifact.name

아티팩트의 이름과 버전입니다. {collection}:{alias} 형식의 문자열입니다. 아티팩트가 기록되거나 저장되기 전에 가져오면 이름에는 alias가 포함되지 않습니다. 아티팩트가 링크인 경우, 이름은 링크된 아티팩트의 이름이 됩니다. Returns:
  • str: name 속성 값입니다.

property Artifact.project

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

property Artifact.qualified_name

아티팩트의 엔티티/프로젝트/이름으로 구성된 정규화된 이름입니다. 아티팩트가 링크인 경우, qualified_name은 링크된 아티팩트 경로의 qualified_name과 같습니다. 반환값:
  • str: qualified_name 프로퍼티 값.

property Artifact.size

아티팩트의 전체 크기(바이트 단위)입니다. 이 아티팩트가 추적하는 모든 참조를 포함합니다. 반환값:
  • int: size 프로퍼티 값.

property Artifact.source_artifact

원본으로 기록된 아티팩트(source artifact)를 반환합니다. 이 아티팩트가 소스 아티팩트인 경우(artifact.is_link == False), 자기 자신을 반환합니다. 반환값:
  • Artifact: source_artifact 프로퍼티의 값.

property Artifact.source_collection

아티팩트의 소스 컬렉션입니다. 소스 컬렉션은 아티팩트를 로깅한 컬렉션입니다. Returns:
  • ArtifactCollection: source_collection 프로퍼티의 값입니다.

property Artifact.source_entity

소스 아티팩트가 속한 entity의 이름입니다. 반환값:
  • str: source_entity 프로퍼티 값입니다.

property Artifact.source_name

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

property Artifact.source_project

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

property Artifact.source_qualified_name

원본 아티팩트의 source_entity/source_project/source_name을 나타냅니다. 반환값:
  • str: source_qualified_name 속성 값입니다.

property Artifact.source_version

소스 아티팩트의 버전입니다. 형식이 v{number}인 문자열입니다. 반환값:
  • str: source_version 프로퍼티 값입니다.

property Artifact.state

아티팩트의 상태입니다. 다음 값 중 하나입니다: “PENDING”, “COMMITTED”, 또는 “DELETED”. 반환값:
  • str: state 프로퍼티의 값입니다.

property Artifact.tags

이 아티팩트 버전에 할당된 하나 이상의 태그 목록입니다. 반환값:
  • list[str]: tags 프로퍼티의 값입니다.

property Artifact.ttl

아티팩트의 time-to-live (TTL) 정책입니다. TTL 정책에서 지정한 기간이 지나면 아티팩트는 곧 삭제됩니다. None으로 설정하면 TTL 정책이 비활성화되며, 팀 기본 TTL이 있더라도 삭제 대상으로 예약되지 않습니다. 팀 관리자가 기본 TTL을 정의했고 아티팩트에 사용자 지정 정책이 설정되어 있지 않은 경우, 아티팩트는 팀 기본 TTL 정책을 상속합니다. 발생 가능한 예외:
  • ArtifactNotLoggedError: 아티팩트가 로그되거나 저장되지 않은 경우 상속된 TTL을 가져올 수 없습니다.
반환 값:
  • timedelta | None: ttl 속성 값입니다.

property Artifact.type

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

property Artifact.updated_at

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

property Artifact.url

아티팩트의 URL을 구성합니다. 반환값:
  • str: 아티팩트의 URL입니다.
반환값:
  • str: URL 속성 값입니다.

property Artifact.use_as

사용 중단됨. 반환값:
  • str | None: use_as 프로퍼티 값.

property Artifact.version

아티팩트의 버전입니다. v{number} 형식의 문자열입니다. 링크 아티팩트인 경우, 버전은 연결된 컬렉션의 버전을 따릅니다. 반환값:
  • str: version 프로퍼티 값입니다.

메서드 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: 현재 아티팩트 버전은 이미 최종 확정된 상태이므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.

메서드 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
로컬 디렉터리를 아티팩트에 추가합니다. 인수:
  • local_path: 로컬 디렉터리의 경로입니다.
  • name: 아티팩트 내 하위 디렉터리 이름입니다. 지정한 이름은 W&B App UI에서 아티팩트의 type별로 중첩되어 표시됩니다. 기본값은 아티팩트의 루트입니다.
  • skip_cache: True로 설정하면 업로드하는 동안 W&B가 파일을 캐시로 복사/이동하지 않습니다.
  • policy: 기본값은 “mutable”입니다.
    • mutable: 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다.
    • immutable: 보호를 비활성화하고, 사용자가 파일을 삭제하거나 변경하지 않는다고 가정합니다.
  • merge: False(기본값)일 경우, 이전 add_dir 호출에서 이미 추가된 파일의 내용이 변경되었다면 ValueError를 발생시킵니다. True이면 변경된 내용으로 기존 파일을 덮어씁니다. 항상 새 파일은 추가하며, 파일을 제거하지는 않습니다. 전체 디렉터리를 교체하려면 add_dir(local_path, name=my_prefix)를 사용해 디렉터리를 추가할 때 이름을 지정하고, remove(my_prefix)를 호출해 해당 디렉터리를 제거한 후 다시 추가하십시오.
발생 예외:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 이미 최종 확정되었기 때문에 변경할 수 없습니다. 대신 새로운 아티팩트 버전을 기록하십시오.
  • ValueError: policy는 “mutable” 또는 “immutable”이어야 합니다.

메서드 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: 현재 아티팩트 버전이 이미 finalized 상태이므로 변경할 수 없습니다. 대신 새로운 아티팩트 버전을 기록해야 합니다.
  • ValueError: policy는 “mutable” 또는 “immutable”이어야 합니다.

메서드 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에 업로드되지 않습니다. 자세한 내용은 Track external files를 참고하세요. 기본적으로 다음 스킴이 지원됩니다:
  • 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: 현재 아티팩트 버전이 이미 확정(finalized)되었기 때문에 변경할 수 없습니다. 대신 새로운 아티팩트 버전을 로그하세요.

메서드 Artifact.checkout

checkout(root: 'str | None' = None) → str
지정된 루트 디렉터리를 아티팩트의 내용으로 교체합니다. 경고: 아티팩트에 포함되지 않은 root 내의 모든 파일은 삭제됩니다. 인자:
  • root: 이 아티팩트의 파일로 교체할 디렉터리입니다.
반환값: 체크아웃된 내용의 경로입니다. 예외:
  • ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.

메서드 Artifact.delete

delete(delete_aliases: 'bool' = False) → None
아티팩트와 그에 포함된 파일을 삭제합니다. 링크된 아티팩트에 대해 호출되면 링크만 삭제되고, 원본 아티팩트는 영향을 받지 않습니다. 소스 아티팩트와 컬렉션 사이의 링크를 제거하려면 Artifact.delete() 대신 Artifact.unlink()를 사용하십시오. 인자:
  • delete_aliases: True이면 아티팩트와 연결된 모든 별칭을 삭제합니다. False이면 아티팩트에 기존 별칭이 있을 경우 예외를 발생시킵니다. 이 파라미터는 아티팩트가 연결된 컬렉션에서 가져온 경우에는 무시됩니다.
예외:
  • 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: 지정된 경우, 주어진 접두사로 시작하는 경로를 가진 파일만 다운로드됩니다. 유닉스 형식(슬래시 방향: /)을 사용합니다.
  • 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
이 아티팩트에 저장된 모든 파일을 순회합니다. Args:
  • names: 나열하려는 파일의, 아티팩트 루트 기준 상대 경로.
  • per_page: 요청당 반환할 파일 개수.
Returns: File 객체를 포함하는 이터레이터를 반환합니다. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않았을 경우 발생합니다.

메서드 Artifact.finalize

finalize() → None
아티팩트 버전을 최종 확정합니다. 아티팩트는 특정 아티팩트 버전으로 로깅되기 때문에, 한 번 최종 확정된 아티팩트 버전은 수정할 수 없습니다. 아티팩트에 더 많은 데이터를 로깅하려면 새 아티팩트 버전을 생성해야 합니다. 아티팩트는 log_artifact로 로깅할 때 자동으로 최종 확정됩니다.

메서드 Artifact.get

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

메서드 Artifact.get_added_local_path_name

get_added_local_path_name(local_path: 'str') → str | None
로컬 파일 시스템 경로를 통해 추가된 파일의 아티팩트 상대 이름을 가져옵니다. 인자:
  • local_path: 아티팩트 상대 이름으로 변환할 로컬 경로.
반환값: 아티팩트 상대 이름을 반환합니다.

메서드 Artifact.get_entry

get_entry(name: 'StrPath') → ArtifactManifestEntry
지정된 이름의 엔트리를 가져옵니다. 인수(Args):
  • name: 가져올 아티팩트 내 엔트리의 상대 이름
반환값(Returns): W&B 객체. 예외(Raises):
  • ArtifactNotLoggedError: 아티팩트가 로깅되지 않았거나 run 이 오프라인인 경우.
  • KeyError: 아티팩트에 지정된 이름의 엔트리가 없는 경우.

메서드 Artifact.get_path

get_path(name: 'StrPath') → ArtifactManifestEntry
더 이상 사용되지 않습니다. 대신 get_entry(name)을 사용하세요.

method Artifact.is_draft

is_draft() → bool
아티팩트가 아직 저장되지 않았는지 확인합니다. 반환값: Boolean 값. 아티팩트가 저장된 경우 False, 아티팩트가 저장되지 않은 경우 True.

메서드 Artifact.json_encode

json_encode() → dict[str, Any]
JSON 형식으로 인코딩된 아티팩트를 반환합니다. Returns: string 키를 가지며 아티팩트의 속성을 나타내는 dict입니다.
link(target_path: 'str', aliases: 'Iterable[str] | None' = None) → Artifact
이 아티팩트를 컬렉션에 연결합니다. 인수:
  • target_path: 컬렉션의 경로입니다. 경로는 접두사 “wandb-registry-”에 레지스트리 이름과 컬렉션 이름을 이어 붙인 wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME} 형식입니다.
  • aliases: 연결된 아티팩트에 하나 이상의 별칭을 추가합니다. 가장 최근에 연결한 아티팩트에는 자동으로 “latest” 별칭이 적용됩니다.
예외:
  • ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우 발생합니다.
반환값: 연결된 아티팩트를 반환합니다.

method Artifact.logged_by

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

메서드 Artifact.new_draft

new_draft() → Artifact
이 커밋된 아티팩트와 동일한 내용을 가진 새로운 드래프트 아티팩트를 생성합니다. 기존 아티팩트를 수정하면 “증분 아티팩트(incremental artifact)“로 알려진 새로운 아티팩트 버전이 생성됩니다. 반환된 아티팩트는 확장하거나 수정한 뒤 새 버전으로 로그할 수 있습니다. Returns: Artifact 객체. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

메서드 Artifact.new_file

new_file(
    name: 'str',
    mode: 'str' = 'x',
    encoding: 'str | None' = None
) → Iterator[IO]
새 임시 파일을 열어 아티팩트에 추가합니다. 인자:
  • name: 아티팩트에 추가할 새 파일의 이름입니다.
  • mode: 새 파일을 열 때 사용할 파일 접근 모드입니다.
  • encoding: 새 파일을 열 때 사용할 인코딩입니다.
반환값: 쓰기 가능한 새로운 파일 객체입니다. 파일을 닫으면 자동으로 아티팩트에 추가됩니다. 예외:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 final(최종 확정) 상태이므로 변경할 수 없습니다. 대신 새로운 아티팩트 버전을 로그하세요.

메서드 Artifact.remove

remove(item: 'StrPath | ArtifactManifestEntry') → None
아티팩트에서 항목을 제거합니다. 인수:
  • item: 제거할 항목입니다. 특정 매니페스트 항목이거나 아티팩트 상대 경로의 이름일 수 있습니다. 항목이 디렉터리에 해당하면 해당 디렉터리의 모든 항목이 제거됩니다.
예외:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 최종 확정된 상태이므로 변경할 수 없습니다. 대신 새로운 아티팩트 버전을 로그하십시오.
  • FileNotFoundError: 항목을 아티팩트에서 찾을 수 없을 때 발생합니다.

메서드 Artifact.save

save(
    project: 'str | None' = None,
    settings: 'wandb.Settings | None' = None
) → None
아티팩트에 가한 모든 변경 사항을 영구적으로 저장합니다. 현재 run이 실행 중인 경우 해당 run이 이 아티팩트를 로깅합니다. 현재 run이 실행 중이 아닌 경우 이 아티팩트를 추적하기 위해 타입이 “auto”인 run이 생성됩니다. 인자:
  • project: run이 아직 컨텍스트에 없을 때 아티팩트에 사용할 프로젝트.
  • settings: 자동 run을 초기화할 때 사용할 settings 객체. 주로 테스트 하네스에서 사용됩니다.

unlink() → None
이 아티팩트가 아티팩트 컬렉션에 연결된 멤버인 경우, 이 아티팩트의 연결을 해제합니다. 발생 예외:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.
  • ValueError: 아티팩트가 어떤 컬렉션에도 연결되어 있지 않은 경우.

메서드 Artifact.used_by

used_by() → list[Run]
이 아티팩트와 이 아티팩트에 링크된 아티팩트를 사용한 run 목록을 가져옵니다. 반환값: Run 객체 리스트. 예외:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.

메서드 Artifact.verify

verify(root: 'str | None' = None) → None
아티팩트의 내용이 매니페스트와 일치하는지 검증합니다. 디렉터리 내 모든 파일의 체크섬을 계산한 후, 이를 아티팩트 매니페스트의 체크섬과 대조합니다. 참조(reference)는 검증하지 않습니다. Args:
  • root: 검증할 디렉터리입니다. None인 경우 아티팩트를 ’./artifacts/self.name/’ 경로로 다운로드합니다.
Raises:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않은 경우.
  • ValueError: 검증에 실패한 경우.

메서드 Artifact.wait

wait(timeout: 'int | None' = None) → Artifact
필요하면 이 아티팩트의 로깅이 완료될 때까지 기다립니다. 인수:
  • timeout: 대기할 시간(초 단위)입니다.
반환값: Artifact 객체를 반환합니다.