Artifact をコレクションにリンクする
ユースケースに合わせて、以下のタブに記載されている手順に従って Artifact バージョンをリンクしてください。開始する前に、以下を確認してください:
- そのコレクションが許可している Artifact のタイプ。コレクションのタイプに関する詳細は、コレクションの作成 内の「Collection types」を参照してください。
- コレクションが属する Registry が既に存在していること。Registry が存在するかどうかを確認するには、Registry App に移動して Registry 名を検索してください。
- Python SDK
- W&B Registry
- Artifact browser
wandb.Run.link_artifact() または wandb.Artifact.link() を使用して、Artifact バージョンをプログラムでコレクションにリンクします。Run のコンテキスト内で Artifact バージョンをリンクするには
wandb.Run.link_artifact() を使用します。Run のコンテキスト外で 既存の Artifact バージョン をリンクするには wandb.Artifact.link() を使用します。wandb.Artifact(name="<name>")、Artifact のタイプ (wandb.Artifact(type="<type>")、およびリンク先のコレクションと Registry の target_path (wandb.Artifact(target_path="<target_path>") を指定します。ターゲットパスは、プレフィックス "wandb-registry"、Registry 名、およびコレクション名をスラッシュで区切った形式で構成されます。Run のコンテキスト内で Artifact バージョンをリンクする
Run のコンテキスト内で Artifact バージョンをリンクするには、wandb.Run.link_artifact() を使用します。これを行うには、まず wandb.init() で Run を初期化します。次に、Artifact オブジェクトを作成してファイルを追加します。最後に、wandb.Run.link_artifact() メソッドを使用して Artifact バージョンをコレクションにリンクします。この方法を使用すると、W&B プロジェクトに Run が作成されます。Artifact バージョンはそのコレクションにリンクされ、その Run に関連付けられます。以下のコードスニペットをコピーして貼り付けてください。<> で囲まれた値はご自身のものに置き換えてください。Run のコンテキスト外で Artifact バージョンをリンクする
Run のコンテキスト外で既存の Artifact バージョンをリンクするには、wandb.Artifact.link() を使用します。この方法では、wandb.init() で Run を初期化する必要はありません。つまり、W&B プロジェクトに Run は作成されません。言い換えると、Artifact バージョンは Run に関連付けられることなくコレクションにリンクされます。まず Artifact オブジェクトを作成し、ファイルを追加します。次に、wandb.Artifact.link() メソッドを使用して Artifact バージョンをコレクションにリンクします。以下のコードスニペットをコピーして貼り付けてください。<> で囲まれた値はご自身のものに置き換えてください。Registry でリンクされた Artifact を表示する
W&B Registry で、リンクされた Artifact に関するメタデータ、リネージ、使用状況などの情報を表示できます。- W&B Registry に移動します。
- Artifact をリンクした Registry の名前を選択します。
- コレクションの名前を選択します。
- コレクションの Artifact がメトリクスをログに記録している場合、Show metrics をクリックしてバージョン間でメトリクスを比較できます。
- Artifact バージョンのリストから、アクセスしたいバージョンを選択します。バージョン番号は、リンクされた各 Artifact バージョンに対して
v0から順に割り当てられます。 - Artifact バージョンの詳細を表示するには、そのバージョンをクリックします。このページのタブから、そのバージョンのメタデータ(ログに記録されたメトリクスを含む)、リネージ、および使用状況情報を表示できます。
Full name of a linked artifact
トラブルシューティング
Artifact をリンクできない場合に再確認すべき一般的な事項を以下に挙げます。個人アカウントからの Artifact のログ記録
個人の entity で W&B にログ記録された Artifact は、Registry にリンクできません。必ず組織内のチーム entity を使用して Artifact をログに記録してください。組織の Registry にリンクできるのは、組織のチーム内でログ記録された Artifact のみです。Registry にリンクしたい場合は、必ずチーム entity で Artifact をログに記録してください。
チーム entity を見つける
W&B はチーム名をチームの entity として使用します。例えば、チーム名が team-awesome の場合、チーム entity はteam-awesome になります。
以下の方法でチーム名を確認できます:
- チームの W&B プロフィールページに移動します。
- サイトの URL をコピーします。
https://wandb.ai/<team>の形式になっており、<team>がチーム名とチーム entity の両方を表します。
チーム entity からログを記録する
-
wandb.init()で Run を初期化する際に、チームを entity として指定します。Run の初期化時にentityを指定しない場合、Run はデフォルトの entity(チーム entity である場合とそうでない場合があります)を使用します。 -
wandb.Run.log_artifact()を使用するか、Artifact オブジェクトを作成して以下の方法でファイルを追加して、Run に Artifact をログ記録します。Artifact のログ記録については、Artifact の構築 を参照してください。 - Artifact が個人の entity にログ記録されている場合は、組織内の entity に再度ログ記録する必要があります。
W&B App UI で Registry のパスを確認する
UI で Registry のパスを確認する方法は 2 つあります。空のコレクションを作成してコレクションの詳細を表示するか、コレクションのホームページにある自動生成されたコードをコピーして貼り付ける方法です。自動生成されたコードをコピーして貼り付ける
- https://wandb.ai/registry/ で W&B Registry に移動します。
- Artifact をリンクしたい Registry をクリックします。
- ページの上部に自動生成されたコードブロックが表示されます。
- これをコードにコピーして貼り付け、パスの最後の部分をコレクションの名前に置き換えてください。

空のコレクションを作成する
- https://wandb.ai/registry/ で W&B Registry に移動します。
- Artifact をリンクしたい Registry をクリックします。
- 空のコレクションをクリックします。空のコレクションが存在しない場合は、新しいコレクションを作成します。
- 表示されるコードスニペット内で、
.link_artifact()内のtarget_pathフィールドを確認します。 - (オプション) コレクションを削除します。

target_path パラメータを含むコードブロックが見つかります。
一時的なコレクションから取得したコレクション名を、Artifact をリンクしたい実際のコレクション名に置き換えるようにしてください。
