メインコンテンツへスキップ
W&B Artifacts を使用して、W&B Runs の入力と出力としてデータをトラッキングし、バージョン管理します。たとえば、モデルトレーニングの run では、データセットを入力として受け取り、トレーニングされたモデルを出力として生成することがあります。ハイパーパラメーター、メタデータ、メトリクスを run にログし、アーティファクトを使用してモデルをトレーニングするために使用されるデータセットを入力としてログ、トラッキング、およびバージョン管理し、生成されたモデルのチェックポイントを出力として管理できます。

ユースケース

あなたの ML ワークフロー全体で、runs の入力と出力としてアーティファクトを使用することができます。データセット、モデル、または他のアーティファクトをプロセシングの入力として使用することができます。
ユースケース入力出力
モデルトレーニングデータセット (トレーニングおよび検証データ)トレーニングされたモデル
データセットの前処理データセット (生データ)データセット (前処理済みデータ)
モデルの評価モデル + データセット (テストデータ)W&B Table
モデルの最適化モデル最適化されたモデル
続くコードスニペットは順番に実行されることを意図しています。

アーティファクトを作成する

4行のコードでアーティファクトを作成します:
  1. W&B run を作成する。
  2. wandb.Artifact API を使用してアーティファクトオブジェクトを作成する。
  3. モデルファイルやデータセットなど、一つ以上のファイルをアーティファクトオブジェクトに追加する。
  4. あなたのアーティファクトを W&B にログする。
例として、続くコードスニペットは example_artifact という名前のアーティファクトに dataset.h5 というファイルをログする方法を示しています:
import wandb

run = wandb.init(project="artifacts-example", job_type="add-dataset")
artifact = wandb.Artifact(name="example_artifact", type="dataset")
artifact.add_file(local_path="./dataset.h5", name="training_dataset")
artifact.save()

# アーティファクトのバージョン "my_data" を dataset.h5 のデータを持つデータセットとしてログします
外部オブジェクトストレージに保存されているファイルやディレクトリーへの参照の追加方法については、外部ファイルのトラッキングページを参照してください。

アーティファクトをダウンロードする

use_artifact メソッドを使用して、あなたの run に入力としてマークしたいアーティファクトを指定します。 続くコードスニペットに続けて、この次のコードブロックは training_dataset アーティファクトの使用方法を示しています:
artifact = run.use_artifact(
    "training_dataset:latest"
)  # "my_data" アーティファクトを使用する run オブジェクトを返します
これはアーティファクトオブジェクトを返します。 次に、返されたオブジェクトを使用して、アーティファクトのすべての内容をダウンロードします:
datadir = (
    artifact.download()
)  # `my_data` アーティファクト全体をデフォルトのディレクトリにダウンロードします。
アーティファクトを特定のディレクトリにダウンロードするために、root parameter にカスタムパスを渡すことができます。アーティファクトをダウンロードする別の方法や追加のパラメータについては、アーティファクトをダウンロードして使用するガイドを参照してください。

次のステップ

  • アーティファクトをバージョン管理し、更新する方法を学びます。
  • オートメーションを使用して、あなたのアーティファクトに対する変更に反応して下流のワークフローをトリガーしたり、Slack チャンネルに通知する方法を学びます。
  • トレーニングされたモデルを収容するスペースであるレジストリについて学びます。
  • Python SDKCLI リファレンスガイドを探索します。
I