메인 콘텐츠로 건너뛰기
W&B Python SDK를 사용하여 Registry에 연결된 Artifacts 를 다운로드할 수 있습니다. Artifacts 를 다운로드하고 사용하려면 Registry의 이름, Collection의 이름, 그리고 다운로드하려는 Artifacts 버전의 에일리어스 또는 인덱스를 알아야 합니다. Artifacts 의 속성을 파악한 후에는 연결된 Artifacts의 경로 구성을 통해 Artifacts 를 다운로드할 수 있습니다. 또는 W&B App UI에서 사전 생성된 코드조각을 복사하여 붙여넣기 함으로써 Registry에 연결된 Artifacts 를 다운로드할 수도 있습니다.

연결된 Artifacts의 경로 구성

Registry에 연결된 Artifacts 를 다운로드하려면 해당 Artifacts 의 경로를 알아야 합니다. 경로는 Registry 이름, Collection 이름, 그리고 액세스하려는 Artifacts 버전의 에일리어스 또는 인덱스로 구성됩니다. Registry, Collection, 그리고 Artifacts 버전의 에일리어스 또는 인덱스가 준비되면 다음 문자열 템플릿을 사용하여 연결된 Artifacts 의 경로를 구성할 수 있습니다.
# 버전 인덱스가 지정된 Artifacts 이름
f"wandb-registry-{REGISTRY}/{COLLECTION}:v{INDEX}"

# 에일리어스가 지정된 Artifacts 이름
f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
중괄호 {} 안의 값들을 액세스하려는 Registry 이름, Collection 이름, 그리고 Artifacts 버전의 에일리어스나 인덱스로 바꿉니다. 연결된 Artifacts 의 경로를 확보했다면 wandb.Run.use_artifact() 메소드를 사용하여 Artifacts 에 액세스하고 그 콘텐츠를 다운로드합니다. 다음 코드조각은 W&B Registry에 연결된 Artifacts 를 사용하고 다운로드하는 방법을 보여줍니다. <> 안의 값들을 실제 값으로 바꾸어 사용하세요.
import wandb

REGISTRY = '<registry_name>'
COLLECTION = '<collection_name>'
ALIAS = '<artifact_alias>'

with wandb.init(entity = '<team_name>', project = '<project_name>')  as run:
    artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
    # artifact_name = '<artifact_name>' # W&B Registry UI에 명시된 전체 이름을 복사하여 붙여넣기 하세요
    fetched_artifact = run.use_artifact(artifact_or_name = artifact_name)  
    download_path = fetched_artifact.download()  
wandb.Run.use_artifact() 메소드는 run 을 생성함과 동시에 다운로드한 Artifacts 를 해당 run 의 입력으로 마킹합니다. Artifacts 를 run 의 입력으로 마킹하면 W&B가 해당 Artifacts 의 계보(lineage)를 추적할 수 있게 됩니다. run 을 생성하고 싶지 않다면 wandb.Api() 오브젝트를 사용하여 Artifacts 에 액세스할 수 있습니다.
import wandb

REGISTRY = "<registry_name>"
COLLECTION = "<collection_name>"
VERSION = "<version>"

api = wandb.Api()
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)
파라미터 및 반환 타입에 대한 자세한 내용은 API 레퍼런스의 wandb.Run.use_artifact()Artifact.download() 를 참조하세요.
여러 조직에 속한 개인 Entity 사용자여러 조직에 속한 개인 Entity 사용자가 Registry에 연결된 Artifacts 에 액세스할 때는 조직의 이름을 지정하거나 팀 Entity를 사용해야 합니다.
import wandb

REGISTRY = "<registry_name>"
COLLECTION = "<collection_name>"
VERSION = "<version>"

# API를 인스턴스화할 때 팀 Entity를 사용하고 있는지 확인하세요
api = wandb.Api(overrides={"entity": "<team-entity>"})
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)

# 경로 구성
api = wandb.Api()
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)

사전 생성된 코드조각 복사 및 붙여넣기

W&B는 Registry에 연결된 Artifacts 를 다운로드하기 위해 Python 스크립트, 노트북 또는 터미널에 복사하여 붙여넣을 수 있는 코드조각을 제공합니다.
  1. W&B Registry로 이동합니다.
  2. Artifacts 가 포함된 Registry의 이름을 선택합니다.
  3. Collection의 이름을 선택합니다.
  4. Artifacts 버전 목록에서 액세스하려는 버전을 선택합니다.
  5. Usage 탭을 선택합니다.
  6. Usage API 섹션에 표시된 코드조각을 복사합니다.
  7. 코드조각을 Python 스크립트, 노트북 또는 터미널에 붙여넣습니다.