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

class Artifact

데이터셋과 모델 버저닝을 위한 유연하고 가벼운 구성 요소입니다. 빈 W&B 아티팩트를 생성합니다. 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 App UI 또는 프로그래밍 방식으로 특정 아티팩트를 식별합니다. use_artifact Public API를 사용해 인터랙티브하게 아티팩트를 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈, 점을 포함할 수 있습니다. 이름은 프로젝트 전체에서 고유해야 합니다.
  • type (str): 아티팩트의 타입입니다. 아티팩트의 타입을 사용해 아티팩트를 구성하고 구분합니다. 문자, 숫자, 밑줄, 하이픈, 점을 포함하는 임의의 문자열을 사용할 수 있습니다. 일반적인 타입에는 dataset 또는 model이 있습니다. 아티팩트를 W&B Model Registry에 연결하려면 타입 문자열에 model을 포함하십시오. 일부 타입은 내부 용도로 예약되어 있으며 사용자가 설정할 수 없습니다. 예를 들어 jobwandb-로 시작하는 타입이 해당됩니다.
  • description (str | None) = None: 아티팩트에 대한 설명입니다. 모델 또는 데이터셋 아티팩트의 경우, 표준화된 팀 모델 또는 데이터셋 카드에 대한 문서를 추가하십시오. Artifact.description 속성을 통해 프로그래밍 방식으로, 또는 W&B App UI를 통해 아티팩트의 설명을 확인할 수 있습니다. W&B는 이 설명을 W&B App에서 마크다운으로 렌더링합니다.
  • metadata (dict[str, Any] | None) = None: 아티팩트에 대한 추가 정보입니다. 메타데이터는 키-값 쌍으로 구성된 딕셔너리로 지정합니다. 키는 총 100개를 초과할 수 없습니다.
  • incremental: 기존 아티팩트를 수정하려면 대신 Artifact.new_draft() 메서드를 사용하십시오.
  • use_as: 사용 중단(deprecated)되었습니다.
Returns: Artifact 객체를 반환합니다.

property Artifact.aliases

하나 이상의 의미를 잘 드러내는 참조 또는 아티팩트 버전에 할당된 식별용 “별칭” 목록입니다. 별칭은 코드에서 사용할 수 있는 변경 가능한 참조입니다. W&B App UI 또는 프로그램적으로 아티팩트의 별칭을 변경할 수 있습니다. 자세한 내용은 새 아티팩트 버전 생성을 참고하세요. 반환 값:
  • list[str]: aliases 프로퍼티 값.

property Artifact.collection

이 아티팩트를 가져온 컬렉션입니다. 컬렉션은 아티팩트 버전들의 순서가 있는 그룹입니다. 이 아티팩트가 연결(link)된 컬렉션에서 가져온 것이라면, 해당 컬렉션을 반환합니다. 그렇지 않으면, 이 아티팩트 버전이 처음 생성된 컬렉션을 반환합니다. 아티팩트가 처음 생성된 컬렉션을 소스 시퀀스(source sequence)라고 합니다. 반환값:
  • 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

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

property Artifact.file_count

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

property Artifact.history_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입니다. 반환값:
  • str | None: ID 속성 값입니다.

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

property Artifact.linked_artifacts

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

property Artifact.manifest

아티팩트의 매니페스트입니다. 매니페스트에는 아티팩트의 모든 내용이 나열되며, 아티팩트가 로그된 이후에는 변경할 수 없습니다. 반환값:
  • ArtifactManifest: manifest 속성 값입니다.

property Artifact.metadata

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

property Artifact.name

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

property Artifact.project

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

property Artifact.qualified_name

아티팩트의 entity/project/name을 나타냅니다. 아티팩트가 링크인 경우, qualified_name은 연결된 아티팩트 경로의 qualified_name입니다. 반환값:
  • str: qualified_name 속성 값.

property Artifact.size

아티팩트의 총 크기(바이트 단위)입니다. 이 아티팩트에서 추적하는 모든 참조를 포함합니다. 반환 값:
  • int: size 속성 값.

property Artifact.source_artifact

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

property Artifact.source_collection

아티팩트의 소스 컬렉션입니다. 소스 컬렉션은 해당 아티팩트가 로깅된 컬렉션입니다. 반환값:
  • ArtifactCollection: source_collection 속성 값입니다.

property Artifact.source_entity

소스 아티팩트의 엔터티 이름입니다. 반환:
  • str: source_entity 프로퍼티의 값.

property Artifact.source_name

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

property Artifact.source_project

소스 아티팩트가 속한 프로젝트의 이름입니다. 반환값:
  • 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를 추가합니다. 인자:
  • obj: 추가할 객체입니다. 현재 Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D 중 하나만 지원합니다.
  • name: 객체를 추가할 아티팩트 내부 경로입니다.
  • overwrite: True인 경우, 해당되는 경우 동일한 파일 경로를 가진 기존 객체를 덮어씁니다.
반환값: 추가된 매니페스트 엔트리 예외:
  • 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 앱 UI에서 아티팩트의 type에 따라 중첩되어 표시됩니다. 기본값은 아티팩트의 루트입니다.
  • skip_cache: True로 설정하면 업로드하는 동안 W&B가 파일을 캐시에 복사/이동하지 않습니다.
  • policy: 기본값은 “mutable”입니다.
    • mutable: 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다.
    • immutable: 보호를 비활성화하고, 사용자가 파일을 삭제하거나 변경하지 않는다는 가정에 의존합니다.
  • merge: False(기본값)인 경우, 이전 add_dir 호출에서 이미 추가된 파일의 내용이 변경되었다면 ValueError를 발생시킵니다. True인 경우, 변경된 내용으로 기존 파일을 덮어씁니다. 항상 새 파일은 추가하며, 기존 파일은 제거하지 않습니다. 전체 디렉터리를 교체하려면 add_dir(local_path, name=my_prefix)를 사용해 디렉터리를 추가할 때 name을 전달한 뒤, 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
로컬 파일을 아티팩트에 추가합니다. 인자:
  • local_path: 추가할 파일의 경로.
  • name: 추가할 파일에 대해 아티팩트 내에서 사용할 경로. 기본값은 파일의 기본 이름(베이스 이름)입니다.
  • is_tmp: True이면 충돌을 피하기 위해 항상 동일한 규칙으로 파일 이름을 변경합니다.
  • skip_cache: True이면 업로드 후 캐시에 파일을 복사하지 않습니다.
  • policy: 기본값은 “mutable”입니다. “mutable”로 설정하면 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다. “immutable”로 설정하면 보호를 비활성화하고, 사용자가 파일을 삭제하거나 변경하지 않는다는 가정에 의존합니다.
  • overwrite: True이면 파일이 이미 존재하는 경우 덮어씁니다.
반환값: 추가된 매니페스트 항목. 예외:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 최종 확정되었기 때문에 변경할 수 없습니다. 대신 새로운 아티팩트 버전을 기록하십시오.
  • 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로 업로드되지 않습니다. 자세한 내용은 외부 파일 추적을 참조하세요. 기본적으로 다음 스킴을 지원합니다:
  • 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()을 사용하십시오. 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로 설정하면, 아티팩트 캐시를 건너뛰고 다운로드 시 각 파일을 기본 루트 또는 지정된 다운로드 디렉터리로 직접 다운로드합니다.
  • path_prefix: 지정된 경우, 주어진 접두사로 시작하는 경로를 가진 파일만 다운로드합니다. 유닉스 형식(순방향 슬래시 / 사용)을 따릅니다.
  • multipart: None(기본값)으로 설정하면, 개별 파일 크기가 2GB보다 큰 경우 multipart 다운로드를 사용해 병렬로 아티팩트를 다운로드합니다. 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 객체를 포함하는 이터레이터입니다. 예외(Raises):
  • ArtifactNotLoggedError: 아티팩트가 로그로 기록되지 않은 경우 발생합니다.

메서드 Artifact.finalize

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

method Artifact.get

get(name: 'str') → WBValue | None
아티팩트 내에서 상대 이름이 name인 WBValue 객체를 가져옵니다. 인자:
  • name: 가져올 아티팩트 상대 이름입니다.
반환값: run.log()으로 로깅하고 W&B UI에서 시각화할 수 있는 W&B 객체입니다. 예외:
  • ArtifactNotLoggedError: 아티팩트가 로깅되지 않았거나 실행이 오프라인인 경우.

메서드 Artifact.get_added_local_path_name

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

메서드 Artifact.get_entry

get_entry(name: 'StrPath') → ArtifactManifestEntry
지정된 이름의 항목을 가져옵니다. 인자:
  • name: 가져올 아티팩트 내 상대 이름
반환값: W&B 객체. 예외:
  • ArtifactNotLoggedError: 아티팩트가 기록되지 않았거나 실행이 오프라인인 경우.
  • KeyError: 아티팩트에 지정된 이름을 가진 항목이 없는 경우.

메서드 Artifact.get_path

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

메서드 Artifact.is_draft

is_draft() → bool
아티팩트가 저장되지 않은 상태인지 확인합니다. 반환값: Boolean. 아티팩트가 저장된 경우 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 실행을 가져옵니다. Returns: 처음 해당 아티팩트를 로깅한 W&B 실행의 이름. Raises:
  • ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우.

method Artifact.new_draft

new_draft() → Artifact
이 커밋된 아티팩트와 동일한 내용을 가진 새로운 초안 아티팩트를 생성합니다. 기존 아티팩트를 수정하면 “증분 아티팩트(incremental artifact)“라고 불리는 새로운 아티팩트 버전이 생성됩니다. 반환된 아티팩트는 확장하거나 수정한 뒤 새 버전으로 로그로 기록할 수 있습니다. 반환값: Artifact 객체. 예외:
  • ArtifactNotLoggedError: 아티팩트가 로그되지 않았을 때 발생합니다.

메서드 Artifact.new_file

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

메서드 Artifact.remove

remove(item: 'StrPath | ArtifactManifestEntry') → None
아티팩트에서 항목을 제거합니다. 인수:
  • item: 제거할 항목입니다. 특정 매니페스트 엔트리이거나 아티팩트 기준 상대 경로 이름일 수 있습니다. 항목이 디렉터리인 경우 해당 디렉터리의 모든 항목이 제거됩니다.
예외:
  • ArtifactFinalizedError: 현재 아티팩트 버전이 이미 최종 확정되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로그하세요.
  • FileNotFoundError: 항목을 아티팩트에서 찾을 수 없는 경우.

메서드 Artifact.save

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

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

메서드 Artifact.used_by

used_by() → list[Run]
이 아티팩트와 이와 연결된 아티팩트를 사용한 실행들의 목록을 가져옵니다. 반환값: Run 객체 목록입니다. 발생 가능한 예외:
  • ArtifactNotLoggedError: 아티팩트가 로깅되지 않은 경우.

메서드 Artifact.verify

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

메서드 Artifact.wait

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