메인 콘텐츠로 건너뛰기
W&B Python SDK를 사용하여 레지스트리에 연결된 아티팩트를 다운로드할 수 있습니다. 아티팩트를 다운로드해 사용하려면 레지스트리 이름, 컬렉션 이름, 그리고 다운로드하려는 아티팩트 버전의 별칭(alias) 또는 인덱스를 알고 있어야 합니다. 아티팩트의 이러한 속성을 알고 나면 연결된 아티팩트에 대한 경로를 구성해 아티팩트를 다운로드할 수 있습니다. 또는 W&B 앱 UI에서 미리 생성된 코드 스니펫을 복사해 붙여넣어 레지스트리에 연결된 아티팩트를 다운로드할 수도 있습니다.

연결된 아티팩트의 경로 구성

레지스트리에 연결된 아티팩트를 다운로드하려면 해당 연결된 아티팩트의 경로를 알고 있어야 합니다. 이 경로는 레지스트리 이름, 컬렉션 이름, 그리고 액세스하려는 아티팩트 버전의 alias 또는 index로 구성됩니다. 레지스트리, 컬렉션, 그리고 아티팩트 버전의 alias 또는 index를 파악했다면, 아래 문자열 템플릿을 사용하여 연결된 아티팩트의 경로를 구성할 수 있습니다:
# 버전 인덱스가 지정된 아티팩트 이름
f"wandb-registry-{REGISTRY}/{COLLECTION}:v{INDEX}"

# 별칭이 지정된 아티팩트 이름
f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
중괄호 {} 안의 값을, 액세스하려는 아티팩트 버전이 속한 레지스트리 이름, 컬렉션 이름, 그리고 해당 버전의 별칭(alias) 또는 인덱스로 바꾸십시오. 연결된 아티팩트의 경로를 얻은 후, wandb.Run.use_artifact() 메서드를 사용하여 아티팩트에 액세스하고 그 내용을 다운로드할 수 있습니다. 다음 코드 스니펫은 W&B Registry에 연결된 아티팩트를 사용하는 방법과 다운로드하는 방법을 보여 줍니다. <> 안의 값은 사용자 환경에 맞게 바꾸십시오:
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() 메서드는 실행을 생성하는 동시에, 다운로드한 아티팩트를 해당 실행의 입력으로 표시합니다. 아티팩트를 실행의 입력으로 표시하면 W&B가 해당 아티팩트의 계보(lineage)를 추적할 수 있습니다. 실행을 생성하지 않으려면 wandb.Api() 객체를 사용하여 아티팩트에 접근할 수 있습니다:
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()를 참고하세요.
여러 조직에 속한 개인 엔터티 사용자여러 조직에 속한 개인 엔터티 사용자는 레지스트리에 연결된 아티팩트에 접근할 때 조직 이름을 명시하거나 팀 엔터티를 사용해야 합니다.
import wandb

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

# API를 인스턴스화할 때 팀 엔터티를 사용하고 있는지 확인합니다.
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는 레지스트리에 연결된 아티팩트를 다운로드하기 위해 Python 스크립트, 노트북 또는 터미널에 복사해 붙여넣을 수 있는 코드 스니펫을 생성합니다.
  1. W&B Registry로 이동합니다.
  2. 아티팩트가 포함된 레지스트리 이름을 선택합니다.
  3. 컬렉션 이름을 선택합니다.
  4. 아티팩트 버전 목록에서 사용하려는 버전을 선택합니다.
  5. Usage 탭을 선택합니다.
  6. Usage API 섹션에 표시된 코드 스니펫을 복사합니다.
  7. 코드 스니펫을 Python 스크립트, 노트북 또는 터미널에 붙여넣습니다.
레지스트리 UI에서 Usage 코드 스니펫을 찾고 복사하는 단계별 과정