> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feat-cli-docs-generator.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# レジストリにアーティファクトバージョンをリンクする

リンクアーティファクトのバージョンをコレクションに追加して、組織内の他のメンバーがアクセスできるようにします。

アーティファクトをレジストリにリンクすると、そのアーティファクトがそのレジストリに「公開」されます。 レジストリにアクセスできるユーザーは、コレクション内のリンクされたアーティファクトのバージョンにアクセスできます。

言い換えれば、アーティファクトをレジストリコレクションにリンクすることによって、アーティファクトのバージョンはプライベートなプロジェクトレベルのスコープから、共有される組織レベルのスコープになります。

<Note>
  「タイプ」という用語は、アーティファクトオブジェクトのタイプを指します。 アーティファクトオブジェクトを作成する際に ([`wandb.Artifact`](/ja/models/ref/python/artifact))、またはアーティファクトをログに記録する際に ([`wandb.init.log_artifact`](/ja/models/ref/python/run#log_artifact))、`type` パラメータにタイプを指定します。
</Note>

## アーティファクトをコレクションにリンクする

アーティファクトバージョンをインタラクティブまたはプログラム的にコレクションにリンクします。

<Note>
  レジストリにアーティファクトをリンクする前に、コレクションが許可しているアーティファクトのタイプを確認してください。 コレクションタイプの詳細については、[コレクションを作成する](/ja/models/core/registry/create_collection/)内の「コレクションタイプ」を参照してください。
</Note>

ユースケースに基づいて、以下のタブで説明されている手順に従ってアーティファクトバージョンをリンクしてください。

<Note>
  アーティファクトバージョンがメトリクスをログに記録している場合（`run.log_artifact()`を使用するなど）、そのバージョンの詳細ページからメトリクスを閲覧することができ、アーティファクトのページからアーティファクトバージョン間のメトリクスを比較することができます。 [レジストリでリンクされたアーティファクトを見る](#view-linked-artifacts-in-a-registry)を参照してください。
</Note>

<Tabs>
  <Tab title="Python SDK">
    <Note>
      バージョンのリンクを示す[ビデオを見る](https://www.youtube.com/watch?v=2i_n1ExgO0A)（8分）。
    </Note>

    プログラム的にアーティファクトバージョンをコレクションにリンクするには、[`wandb.init.Run.link_artifact()`](/ja/models/ref/python/run#link_artifact)を使用します。

    <Note>
      アーティファクトをコレクションにリンクする前に、そのコレクションが所属するレジストリが既に存在することを確認してください。 レジストリが存在するかどうかを確認するには、W\&B App UIのレジストリアプリにアクセスし、レジストリの名前を検索してください。
    </Note>

    `target_path` パラメータを使用して、リンクするアーティファクトバージョンのコレクションとレジストリを指定します。ターゲットパスは、プレフィックス "wandb-registry"、レジストリの名前、コレクション名がフォワードスラッシュで区切られています。

    ```text theme={null}
    wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}
    ```

    以下のコードスニペットをコピーして貼り付け、既存のレジストリ内のコレクションにアーティファクトバージョンをリンクしてください。`<>`で囲まれた値を自分の値に置き換えてください。

    ```python theme={null}
    import wandb

    # run を初期化
    run = wandb.init(
      entity = "<チームエンティティ>",
      project = "<プロジェクト名>"
    )

    # アーティファクトオブジェクトの作成
    # type パラメータは、アーティファクトオブジェクトとコレクションタイプの両方のタイプを指定します
    artifact = wandb.Artifact(name = "<名前>", type = "<type>")

    # アーティファクトオブジェクトにファイルを追加
    # ファイルのパスをローカルマシンで指定します
    artifact.add_file(local_path = "<アーティファクトのローカルパス>")

    # アーティファクトをリンクするコレクションとレジストリを指定
    REGISTRY_NAME = "<registry_name>"  
    COLLECTION_NAME = "<collection_name>"
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

    # アーティファクトをコレクションにリンク
    run.link_artifact(artifact = artifact, target_path = target_path)
    ```

    <Note>
      アーティファクトバージョンをモデルレジストリまたはデータセットレジストリにリンクする場合、アーティファクトのタイプをそれぞれ `"model"` または `"dataset"` に設定してください。
    </Note>
  </Tab>

  <Tab title="Registry App">
    1. Registry App に移動します。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/odvsXuVtRq39LmE_/images/registry/navigate_to_registry_app.png?fit=max&auto=format&n=odvsXuVtRq39LmE_&q=85&s=4829ed2d9ed485d7d1cf63c513ac490f" width="2970" height="1920" data-path="images/registry/navigate_to_registry_app.png" />
           </Frame>
    2. アーティファクトバージョンをリンクするコレクションの名前の隣にマウスをホバーさせます。
    3. **詳細を表示**の隣にあるミートボールメニューアイコン（三つの横に並んだ点）を選択します。
    4. ドロップダウンから、**新しいバージョンをリンク**を選択します。
    5. サイドバーから、**Team** ドロップダウンからチームの名前を選択します。
    6. **Project** ドロップダウンからアーティファクトを含むプロジェクトの名前を選択します。
    7. **Artifact** ドロップダウンからアーティファクトの名前を選択します。
    8. **Version** ドロップダウンからコレクションにリンクしたいアーティファクトのバージョンを選択します。
  </Tab>

  <Tab title="Artifact browser">
    1. プロジェクトのアーティファクトブラウザに移動します。URLは: `https://wandb.ai/<entity>/<project>/artifacts`
    2. 左サイドバーでアーティファクトアイコンを選択します。
    3. レジストリにリンクしたいアーティファクトバージョンをクリックします。
    4. **バージョン概要**セクション内で、**Link to registry**ボタンをクリックします。
    5. 画面右側に表示されるモーダルで、**Select a registered model** メニューのドロップダウンからアーティファクトを選択します。
    6. **次のステップ** をクリックします。
    7. (任意) **Aliases** ドロップダウンから別名を選択します。
    8. **Link to registry** をクリックします。
  </Tab>
</Tabs>

リンクされたアーティファクトのメタデータ、バージョンデータ、使用状況、リネージ情報などをRegistry Appで表示します。

## リンクされたアーティファクトをレジストリで表示する

Registry Appでメタデータ、リネージ、使用状況情報などのリンクされたアーティファクト情報を表示します。

1. Registry App に移動します。
2. アーティファクトをリンクしたレジストリの名前を選択します。
3. コレクションの名前を選択します。
4. コレクションのアーティファクトがメトリクスをログしている場合、**メトリクスを表示**をクリックしてバージョンを比較します。
5. アーティファクトバージョンのリストから、アクセスしたいバージョンを選択します。バージョン番号は `v0` から始まる増分で各リンクされたアーティファクトバージョンに割り当てられます。
6. アーティファクトバージョンの詳細を表示するには、そのバージョンをクリックします。このページのタブから、そのバージョンのメタデータ（ログされたメトリクスを含む）、リネージ、使用状況情報を表示できます。

**バージョンタブ** 内の **フルネーム** フィールドに注意してください。リンクされたアーティファクトのフルネームは、レジストリ、コレクション名、アーティファクトのバージョンのエイリアスまたはインデックスから構成されています。

```text title="リンクされたアーティファクトのフルネーム" theme={null}
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{INTEGER}
```

プログラム的にアーティファクトバージョンにアクセスするには、リンクされたアーティファクトのフルネームが必要です。

## トラブルシューティング

アーティファクトをリンクできない場合は、次のような一般的なチェックを確認してください。

### 個人アカウントからアーティファクトをログする

個人エンティティを使用してW\&Bにログされたアーティファクトはレジストリにリンクすることができません。 アーティファクトを組織内のチームエンティティを使用してログに記録していることを確認してください。 組織のチーム内でログに記録されたアーティファクトのみが組織のレジストリにリンクされることができます。

<Note>
  アーティファクトをレジストリにリンクしたい場合は、チームエンティティを使用してアーティファクトをログしてください。
</Note>

#### あなたのチームエンティティを見つける

W\&B はあなたのチームの名前をチームのエンティティとして使用します。 例えば、あなたのチームが **team-awesome** と呼ばれている場合、あなたのチームエンティティは `team-awesome` です。

あなたのチームの名前を確認するには：

1. あなたのチームの W\&B プロファイルページに移動します。
2. サイトの URL をコピーします。それは`https://wandb.ai/<team>`の形式です。ここで `<team>` はあなたのチームの名前とチームのエンティティの両方です。

#### チームエンティティからログする

1. [`wandb.init()`](/ja/models/ref/python/init)を使用して run を初期化するときに、エンティティとしてチームを指定します。もし run を初期化するときに `entity` を指定しなかった場合、run はあなたのデフォルトエンティティを使用しますが、それがチームエンティティであるとは限りません。
   ```python theme={null}
     import wandb   

     run = wandb.init(
       entity='<team_entity>', 
       project='<project_name>'
       )
   ```
2. run にアーティファクトをログするには、run.log\_artifact を使用するか、Artifact オブジェクトを作成してからファイルを追加します:

   ```python theme={null}
   artifact = wandb.Artifact(name="<artifact_name>", type="<type>")
   ```

   アーティファクトのログ方法についての詳細は、[アーティファクトを構成する](/ja/models/artifacts/construct-an-artifact/)を参照してください。
3. 個人エンティティにログされたアーティファクトがある場合、それを組織内のエンティティに再ログする必要があります。

### W\&B App UIでレジストリのパスを確認する

UIを使用してレジストリのパスを確認する方法は2つあります: 空のコレクションを作成してコレクションの詳細を表示するか、コレクションのホームページで自動生成されたコードをコピー＆ペーストすることです。

#### 自動生成されたコードをコピーして貼り付ける

1. Registry app に移動します: [https://wandb.ai/registry/](https://wandb.ai/registry/).
2. アーティファクトをリンクしたいレジストリをクリックします。
3. ページの上部に自動生成されたコードブロックが表示されます。
4. これをコピーしてコードに貼り付け、パスの最後の部分をコレクションの名前に置き換えてください。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/odvsXuVtRq39LmE_/images/registry/get_autogenerated_code.gif?s=4623567239da2990a123e2bb8c9fdfa0" width="3718" height="2304" data-path="images/registry/get_autogenerated_code.gif" />
</Frame>

#### 空のコレクションを作成する

1. Registry app に移動します: [https://wandb.ai/registry/](https://wandb.ai/registry/).
2. アーティファクトをリンクしたいレジストリをクリックします。
3. 空のコレクションをクリックします。 空のコレクションが存在しない場合は、新しいコレクションを作成します。
4. 表示されるコードスニペット内で、`.link_artifact()` 内の `target_path` フィールドを識別します。
5. (任意) コレクションを削除します。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/odvsXuVtRq39LmE_/images/registry/check_empty_collection.gif?s=3726fd05f95748eca86bf231c08c941f" width="3752" height="2190" data-path="images/registry/check_empty_collection.gif" />
</Frame>

例えば、上記の手順を完了した後、`target_path`パラメータを持つコードブロックを見つけます：

```python theme={null}
target_path = 
      "smle-registries-bug-bash/wandb-registry-Golden Datasets/raw_images"
```

これを構成要素に分解すると、プログラム的にアーティファクトをリンクするために必要なパスを作成するために必要なものが見えます：

```python theme={null}
ORG_ENTITY_NAME = "smle-registries-bug-bash"
REGISTRY_NAME = "Golden Datasets"
COLLECTION_NAME = "raw_images"
```

<Note>
  一時コレクションのコレクション名を、リンクしたいアーティファクトのコレクション名に置き換えることを忘れないでください。
</Note>
