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

# アーティファクトをダウンロードして使用する

> 複数の Projects から Artifacts をダウンロードして使用する。

すでに W\&B サーバーに保存されているアーティファクトをダウンロードして使用するか、アーティファクト オブジェクトを構築して、必要に応じて重複排除のためにそれを渡します。

<Note>
  閲覧専用シートのチームメンバーは、アーティファクトをダウンロードできません。
</Note>

### W\&B に保存されているアーティファクトをダウンロードして使用する

W\&B に保存されているアーティファクトを W\&B Run の内外でダウンロードして使用します。Public API（[`wandb.Api`](/ja/models/ref/python/public-api/api)）を使用して、W\&B にすでに保存されているデータをエクスポート（または更新）します。詳細については、W\&B [Public API Reference guide](/ja/models/ref/python/public-api/) を参照してください。

<Tabs>
  <Tab title="During a run">
    まず、W\&B Python SDK をインポートします。次に、W\&B [Run](/ja/models/ref/python/run) を作成します。

    ```python theme={null}
    import wandb

    run = wandb.init(project="<example>", job_type="<job-type>")
    ```

    使用したいアーティファクトを [`use_artifact`](/ja/models/ref/python/run#use_artifact) メソッドで指定します。これにより run オブジェクトが返されます。次のコードスニペットでは、`'bike-dataset'` というアーティファクトを `'latest'` というエイリアスで指定しています。

    ```python theme={null}
    artifact = run.use_artifact("bike-dataset:latest")
    ```

    戻されたオブジェクトを使って、アーティファクトの内容をすべてダウンロードします。

    ```python theme={null}
    datadir = artifact.download()
    ```

    アーティファクトの内容を特定のディレクトリーにダウンロードするには、`root` パラメータにパスをオプションで渡すことができます。詳細については、[Python SDK Reference Guide](/ja/models/ref/python/artifact#download) を参照してください。

    [`get_path`](/ja/models/ref/python/artifact#get_path) メソッドを使用して、ファイルのサブセットのみをダウンロードできます。

    ```python theme={null}
    path = artifact.get_path(name)
    ```

    これにより、パス `name` のファイルのみが取得されます。次のメソッドを持つ `Entry` オブジェクトが返されます。

    * `Entry.download`: パス `name` のアーティファクトからファイルをダウンロード
    * `Entry.ref`: `add_reference` がエントリーを参照として保存している場合、URI を返します。

    W\&B が処理方法を知っているスキームを持つ参照は、アーティファクトファイルと同様にダウンロードされます。詳細については、[Track external files](/ja/models/artifacts/track-external-files/) を参照してください。
  </Tab>

  <Tab title="Outside of a run">
    まず、W\&B SDK をインポートします。次に、Public API クラスからアーティファクトを作成します。エンティティ、プロジェクト、アーティファクト、およびエイリアスをそのアーティファクトに関連付けます。

    ```python theme={null}
    import wandb

    api = wandb.Api()
    artifact = api.artifact("entity/project/artifact:alias")
    ```

    戻されたオブジェクトを使って、アーティファクトの内容をダウンロードします。

    ```python theme={null}
    artifact.download()
    ```

    アーティファクトの内容を特定のディレクトリーにダウンロードするために `root` パラメータにパスをオプションで渡すことができます。詳細については、[API Reference Guide](/ja/models/ref/python/artifact#download) を参照してください。
  </Tab>

  <Tab title="W&B CLI">
    `wandb artifact get` コマンドを使用して、W\&B サーバーからアーティファクトをダウンロードします。

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

### アーティファクトの一部をダウンロード

プレフィックスを基にアーティファクトの一部をダウンロードすることができます。`path_prefix` パラメータを使用して、単一のファイルまたはサブフォルダーの内容をダウンロードします。

```python theme={null}
artifact = run.use_artifact("bike-dataset:latest")

artifact.download(path_prefix="bike.png") # bike.png のみをダウンロード
```

または、特定のディレクトリーからファイルをダウンロードすることもできます。

```python theme={null}
artifact.download(path_prefix="images/bikes/") # images/bikes ディレクトリー内のファイルをダウンロード
```

### 別のプロジェクトからアーティファクトを使用する

アーティファクトの名前とともにそのプロジェクト名を指定して、アーティファクトを参照します。また、エンティティ名でアーティファクトの名前を指定して、エンティティを超えてアーティファクトを参照することもできます。

次のコード例は、現在の W\&B run に他のプロジェクトからのアーティファクトを入力としてクエリする方法を示しています。

```python theme={null}
import wandb

run = wandb.init(project="<example>", job_type="<job-type>")
# 他のプロジェクトからアーティファクトを W&B でクエリして、それを入力として
# この run にマークします。
artifact = run.use_artifact("my-project/artifact:alias")

# 別のエンティティからアーティファクトを使用し、それを入力として
# この run にマークします。
artifact = run.use_artifact("my-entity/my-project/artifact:alias")
```

### アーティファクトを同時に構築して使用する

アーティファクトを同時に構築して使用します。アーティファクト オブジェクトを作成して、それを use\_artifact に渡します。これにより、W\&B にアーティファクトが存在しない場合は作成されます。[`use_artifact`](/ja/models/ref/python/run#use_artifact) API は冪等性があり、あなたが好きなだけ何度も呼び出すことができます。

```python theme={null}
import wandb

artifact = wandb.Artifact("reference model")
artifact.add_file("model.h5")
run.use_artifact(artifact)
```

アーティファクトの構築に関する詳細については、[Construct an artifact](/ja/models/artifacts/construct-an-artifact/) を参照してください。
