メインコンテンツまでスキップ

アーティファクトのダウンロードと使用

すでにWeights & Biasesサーバーに保存されているアーティファクトをダウンロードして使用するか、アーティファクトオブジェクトを構築して必要に応じて重複排除を行ってください。
注記

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

Weights & Biasesに保存されたアーティファクトのダウンロードと使用

Weights & BiasesのW&B Runの内部または外部に保存されたアーティファクトをダウンロードして使用します。Public API (wandb.Api) を使って、Weights & Biasesに既に保存されているデータをエクスポート(または更新)します。詳細については、Weights & Biases Public API Reference ガイド を参照してください。

まず、W&B Python SDKをインポートしてください。次に、W&B Run を作成します:

import wandb

run = wandb.init(project="<例>", job_type="<ジョブタイプ>")

以下のように、use_artifactメソッドを使用して、使用するアーティファクトを指定します。これはrunオブジェクトを返します。次のコードスニペットでは、エイリアスが'latest''bike-dataset'というアーティファクトを指定しています:

artifact = run.use_artifact("bike-dataset:latest")

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

datadir = artifact.download()

必要に応じて、rootパラメータにパスを渡して、アーティファクトの内容を特定のディレクトリにダウンロードできます。詳細については、Python SDKリファレンスガイドを参照してください。

ファイルのサブセットのみをダウンロードするには、get_path メソッドを使用してください:

path = artifact.get_path(name)

これは、パスnameにあるファイルだけを取得します。Entryオブジェクトを返し、次のメソッドがあります:

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

Weights & Biasesが扱い方を知っているスキームを持つ参照は、アーティファクトファイルと同様にダウンロードできます。詳細については、外部ファイルのトラッキングを参照してください。

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

アーティファクトを参照するには、そのアーティファクトの名前とプロジェクト名を指定してください。また、エンティティ名を指定して、アーティファクトを横断的に参照することもできます。

以下のコード例は、別のプロジェクトからアーティファクトを取得し、現在のW&B runへの入力として使用する方法を示しています。

import wandb

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

アーティファクトの同時構築と使用

同時にアーティファクトを構築し、使用します。アーティファクトオブジェクトを作成し、use_artifactに渡します。これにより、Weights & Biasesでアーティファクトがまだ存在していない場合、作成されます。use_artifact APIは冪等性がありますので、何度でも呼び出すことができます。

import wandb

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

アーティファクトの構築に関する詳細は、アーティファクトの構築を参照してください。

Was this page helpful?👍👎