Artifacts
W&B Artifacts を使用して、W&B Runs の入力および出力としてデータのトラッキングとバージョン管理を行います。例えば、モデルのトレーニング run はデータセットを入力として受け取り、トレーニングされたモデルを出力として生成する場合があります。ハイパーパラメーター、メタデータ、およびメトリクスを run にログとして記録することに加えて、アーティファクトを使用してモデルのトレーニングに使用したデータセットを入力として、結果として生成されたモデルのチェックポイントを出力としてログ、トラッキング、バージョン管理することもできます。
ユースケース
アーティファクトは runs の入力および出力として、ML ワークフロー全体で使用できます。データセットやモデル、さらには他のアーティファクトをプロセッシングの入力として使用できます。
ユースケース | 入力 | 出力 |
---|---|---|
モデルトレーニング | データセット (トレーニングデータと検証データ) | トレーニングされたモデル |
データセットの前処理 | データセット (生データ) | データセット (前処理済みデータ) |
モデルの評価 | モデル + データセット (テストデータ) | W&B Table |
モデルの最適化 | モデル | 最適化されたモデル |
アーティファクトの作成
4行のコードでアーティファクトを作成できます。
- W&B Run を作成します。
wandb.Artifact
API を使用してアーティファクトオブジェクトを作成します。- モデルファイルやデータセットなどの1つ以上のファイルをアーティファクトオブジェクトに追加します。この例では、単一ファイルを追加します。
- W&B にアーティファクトをログします。
run = wandb.init(project = "artifacts-example", job_type = "add-dataset")
run.log_artifact(data = "./dataset.h5", name = "my_data", type = "dataset" ) # dataset.h5 からデータを持つデータセットとしてアーティファクトバージョン "my_data" をログします。
ヒント
Amazon S3 バケットのような外部オブジェクトストレージに保存されているファイルまたはディレクトリーへの参照を追加する方法については、外部ファイルのトラッキング ページをご覧ください。
アーティファクトのダウンロード
use_artifact
メソッドを使用して、run に入力とするアーティファクトを指定します。このメソッドはアーティファクトオブジェクトを返します。
artifact = run.use_artifact("my_data:latest") # "my_data" アーティファクトを使用する run オブジェクトを返します。
次に、返されたオブジェクトを使用してアーティファクトの全内容をダウンロードします。
datadir = artifact.download() # デフォルトのディレクトリーに "my_data" アーティファクト全体をダウンロードします。
ヒント
カスタムパスを root
パラメータ に渡して、特定のディレクトリーにアーティファクトをダウンロードできます。アーティファクトをダウンロードする他の方法および追加のパラメーターについては、アーティファクトのダウンロードと使用 に関するガイドを参照してください。
次のステップ
- アーティファクトのバージョン管理、更新、または 削除 について学びます。
- アーティファクトの変更に応じて下流のワークフローをトリガーする方法を artifact automation で学びます。
- トレーニング済みモデルを収容するスペースである model registry について学びます。
- Python SDK および CLI リファレンスガイドを探索します。