> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-mintlify-c7f6bef2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 여러 프로젝트에서 아티팩트를 다운로드하고 사용합니다.

# 아티팩트 다운로드 및 사용

이미 W\&B Server에 저장된 아티팩트를 다운로드해 사용할 수 있으며, 필요에 따라 중복 제거를 위해 아티팩트 객체를 생성해 전달할 수도 있습니다.

<Note>
  Models **Viewer** 시트의 팀 구성원은 아티팩트를 다운로드할 수 없습니다.
</Note>

<div id="download-and-use-an-artifact-stored-on-wb">
  ### W\&B에 저장된 아티팩트 다운로드 및 사용
</div>

아티팩트가 run 종속성인 경우 run 입력으로 추적되도록 다운로드하고, 리니지 추적이 필요하지 않은 워크플로의 경우 직접 가져오세요.

<Info>
  W\&B가 처리할 수 있는 스킴이 있는 참조는 아티팩트 파일과 동일한 방식으로 다운로드됩니다. 자세한 내용은 [외부 파일 추적](/ko/models/artifacts/track-external-files/)을 참조하세요.
</Info>

아티팩트의 모든 파일을 다운로드하거나 개별 파일만 다운로드할 수 있습니다.

* 모든 파일을 다운로드하려면 [`Artifact.download()`](/ko/models/ref/python/experiments/artifact#download)을 사용하세요.
* 특정 엔트리를 가져오려면 [`Artifact.get_entry()`](/ko/models/ref/python/experiments/artifact#get_entry)를 사용한 다음, `.download()`를 호출하세요.

<Tabs>
  <Tab title="run 입력 추적">
    W\&B run의 일부로 아티팩트를 다운로드하려면 `wandb.Run.use_artifact()`를 사용하세요. W\&B는 해당 아티팩트를 run의 입력으로 기록합니다.

    1. W\&B Python SDK를 임포트하고 W\&B [Run](/ko/models/ref/python/experiments/run)을 초기화하세요.
    2. `wandb.Run.use_artifact()`로 아티팩트 버전을 조회하세요.
    3. 반환된 `Artifact` 객체에서 모든 파일 또는 특정 파일을 다운로드하세요.

    ```python theme={null}
    import wandb    

    with wandb.init(project="<example>", job_type="<job-type>") as run:
        # 사용할 아티팩트를 지정합니다. 형식은 "name:alias"입니다.
        artifact = run.use_artifact("bike-dataset:latest")

        # 전체 아티팩트를 다운로드합니다.
        datadir = artifact.download()

        # 특정 파일을 다운로드합니다.
        entry = artifact.get_entry("bike.png")
        file_path = entry.download() # bike.png만 다운로드합니다.
    ```
  </Tab>

  <Tab title="직접 가져오기">
    run을 생성하거나 run 입력 관계를 기록하지 않고 아티팩트를 다운로드하려면 Public API를 사용하세요.

    1. W\&B Python SDK를 임포트하고 `wandb.Api()`로 클라이언트 객체를 생성하세요.
    2. `wandb.Api.artifact()`로 아티팩트 버전을 조회하세요.
    3. 반환된 `Artifact` 객체에서 모든 파일 또는 특정 파일을 다운로드하세요.

    아티팩트 경로는 `entity/project/artifact:alias` 형식으로 지정하세요.

    ```python theme={null}
    import wandb

    api = wandb.Api()
    artifact = api.artifact("entity/project/artifact:alias")
    artifact.download()
    ```
  </Tab>

  <Tab title="W&B CLI">
    W\&B Server에서 아티팩트를 다운로드하려면 `wandb artifact get` 명령어를 사용하세요.

    ```
    $ wandb artifact get project/artifact:alias --root mnist/
    ```
  </Tab>
</Tabs>

<div id="partially-download-an-artifact">
  ### 아티팩트 일부 다운로드
</div>

접두사를 기준으로 아티팩트의 일부만 선택해 다운로드할 수 있습니다. `path_prefix=` (`wandb.Artifact.download(path_prefix=)`) 매개변수를 사용해 단일 파일 또는 하위 폴더의 내용을 다운로드하세요.

```python theme={null}
with wandb.init(project="<example>", job_type="<job-type>") as run:
    # 사용할 아티팩트를 지정합니다. 형식은 "name:alias"입니다.
    artifact = run.use_artifact("bike-dataset:latest")

    # 특정 파일 또는 하위 폴더 다운로드
    artifact.download(path_prefix="bike.png") # bike.png만 다운로드
```

또는 특정 디렉터리에서 파일을 다운로드할 수도 있습니다. 이렇게 하려면 `path_prefix=` 매개변수에 디렉터리를 지정하세요. 이전 코드 스니펫에 이어서 설명하면 다음과 같습니다:

```python theme={null}
# images/bikes 디렉터리의 파일을 다운로드합니다
artifact.download(path_prefix="images/bikes/") 
```

<div id="use-an-artifact-from-a-different-project">
  ### 다른 프로젝트의 아티팩트 사용
</div>

아티팩트를 참조하려면 프로젝트 이름과 함께 아티팩트 이름을 지정하세요. entity 이름과 함께 아티팩트 이름을 지정하면 entity 간에도 아티팩트를 참조할 수 있습니다.

다음 코드 예제는 현재 W\&B run의 입력으로 다른 프로젝트의 아티팩트를 쿼리하는 방법을 보여줍니다.

```python theme={null}
with wandb.init(project="<example>", job_type="<job-type>") as run:
    # 다른 프로젝트의 아티팩트를 W&B에서 쿼리하고
    # 이 run의 입력으로 표시합니다.
    artifact = run.use_artifact("my-project/artifact:alias")

    # 다른 entity의 아티팩트를 사용하고 이 run의 입력으로
    # 표시합니다.
    artifact = run.use_artifact("my-entity/my-project/artifact:alias")

```

<div id="construct-and-use-an-artifact-simultaneously">
  ### 아티팩트를 생성과 동시에 사용하기
</div>

아티팩트를 생성하는 동시에 사용할 수 있습니다. 아티팩트 객체를 만든 다음 use\_artifact에 전달하세요. 이렇게 하면 아직 존재하지 않는 경우 W\&B에서 아티팩트가 생성됩니다. [`wandb.Run.use_artifact()`](/ko/models/ref/python/experiments/run#use_artifact) API는 멱등적이므로 원하는 만큼 여러 번 호출해도 됩니다.

```python theme={null}
import wandb

with wandb.init(project="<example>", job_type="<job-type>") as run:
    artifact = wandb.Artifact("reference model")
    artifact.add_file("model.h5")
    run.use_artifact(artifact)
```

아티팩트를 생성하는 방법에 대한 자세한 내용은 [아티팩트 생성하기](/ko/models/artifacts/construct-an-artifact/)를 참조하세요.
