メインコンテンツへスキップ
Try in Colab

Models のログ記録

このガイドでは、W&B run に Models をログ記録し、それらを操作する方法について説明します。
以下の API は、実験管理ワークフローの一部として Models を追跡するのに役立ちます。このページに記載されている API を使用して、run に Models をログ記録し、メトリクス、テーブル、メディア、その他のオブジェクトにアクセスしてください。以下の場合は、W&B Artifacts の使用を推奨します:
  • Models 以外にも、データセットやプロンプトなど、シリアル化されたデータの異なるバージョンを作成・管理したい場合。
  • W&B で追跡されているモデルやその他のオブジェクトの リネージグラフ を確認したい場合。
  • これらのメソッドによって作成されたモデルアーティファクトに対して、プロパティの更新(メタデータ、エイリアス、説明文)などの操作を行いたい場合。
W&B Artifacts や高度なバージョン管理のユースケースに関する詳細は、Artifacts のドキュメントを参照してください。

run へのモデルのログ記録

指定したディレクトリー内のコンテンツを含むモデルアーティファクトをログ記録するには、log_model を使用します。log_model メソッドは、生成されたモデルアーティファクトを W&B run の出力としてマークします。 モデルを W&B run の入力または出力としてマークすることで、モデルの依存関係や関連付けを追跡できます。モデルのリネージは W&B App の UI で確認できます。詳細については、Artifacts チャプター内の Explore and traverse artifact graphs ページを参照してください。 モデルファイルが保存されているパスを path パラメーターに指定します。パスには、ローカルファイル、ディレクトリー、または s3://bucket/path のような外部バケットへの 参照URI を指定できます。 <> で囲まれた値は、ご自身の環境の値に置き換えてください。
import wandb

# W&B runを初期化
with wandb.init(project="<your-project>", entity="<your-entity>") as run:

    # モデルをログ記録
    run.log_model(path="<path-to-model>", name="<name>")
オプションで、name パラメーターにモデルアーティファクトの名前を指定できます。name が指定されない場合、W&B は入力パスのベース名に run ID をプレフィックスとして付けたものを名前として使用します。
自身で設定した、あるいは W&B が割り当てた name を控えておいてください。wandb.Run.use_model() メソッドを使用してモデルのパスを取得する際に、そのモデル名が必要になります。
パラメーターの詳細については、APIリファレンスの log_model を参照してください。

ログ記録されたモデルのダウンロードと使用

以前に W&B run にログ記録されたモデルファイルにアクセスしてダウンロードするには、use_model 関数を使用します。 取得したいモデルファイルが格納されているモデルアーティファクトの名前を指定します。指定する名前は、既存のログ記録されたモデルアーティファクトの名前と一致している必要があります。 log_model でファイルを最初にログ記録したときに name を定義しなかった場合、デフォルトで割り当てられる名前は、入力パスのベース名に run ID をプレフィックスとして付けたものになります。 <> で囲まれた値は、ご自身の環境の値に置き換えてください:
import wandb

# runを初期化
with wandb.init(project="<your-project>", entity="<your-entity>") as run:

    # モデルにアクセスしてダウンロード。ダウンロードされたアーティファクトのパスを返す
    downloaded_model_path = run.use_model(name="<your-model-name>")
use_model 関数は、ダウンロードされたモデルファイルのパスを返します。後でこのモデルをリンクしたい場合に備えて、このパスを保持しておいてください。上記のコードスニペットでは、返されたパスは downloaded_model_path という変数に格納されています。 パラメーターと戻り値の型については、APIリファレンスの use_model を参照してください。