> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# エイリアスを使用してアーティファクトバージョンを参照する

> デフォルト、カスタム、保護されたエイリアスを使用して、W&B Registry 内の特定のアーティファクトバージョンを参照します。

1 つ以上のエイリアスを使用して、特定の[アーティファクトバージョン](/ja/models/artifacts/create-a-new-artifact-version/)を参照します。[W\&B は、同じ名でリンクした各 アーティファクト に自動的にエイリアスを割り当てます](/ja/models/registry/aliases/#default-aliases)。特定のアーティファクトバージョンを参照するために、[1 つ以上のカスタムエイリアスを作成する](/ja/models/registry/aliases/#custom-aliases)こともできます。

エイリアスは、Registry UI ではエイリアス名が表示された長方形として表示されます。[エイリアスが保護されている](/ja/models/registry/aliases/#protected-aliases)場合は、ロックアイコン付きの灰色の長方形で表示されます。そうでない場合、エイリアスはオレンジ色の長方形で表示されます。エイリアスはRegistry間で共有されません。

<Note>
  **エイリアスを使用する場合とタグを使用する場合**

  特定のアーティファクトバージョンを参照するには、エイリアスを使用します。コレクション 内では、各エイリアスは一意です。特定のエイリアスを同時に持てるアーティファクトバージョンは 1 つだけです。

  共通のテーマに基づいてアーティファクトバージョンや コレクション を整理およびグループ化するには、タグ を使用します。複数のアーティファクトバージョンと コレクション で同じタグを共有できます。
</Note>

アーティファクトバージョンにエイリアスを追加すると、必要に応じて [Registry automation](/ja/models/automations/automation-events/#registry) を開始し、Slack チャンネルに通知したり webhook をトリガーしたりできます。オートメーションが、リクエスト内でアクセストークンやその他の機密情報を必要とする webhook を呼び出す場合は、それらの文字列を[チームシークレット](/ja/platform/secrets)として保存し、オートメーションの webhook を設定するときに選択します。"

<div id="default-aliases">
  ## デフォルトのエイリアス
</div>

W\&B は、同じ名でリンクした各 アーティファクト バージョンに、次のエイリアスを自動的に割り当てます。

* コレクションにリンクした最新の アーティファクト バージョンには、`latest` エイリアス。
* 一意のバージョン番号。W\&B は、リンクした各 アーティファクト バージョンをゼロ始まりで数えます。W\&B は、そのカウント番号を使用して、その アーティファクト に一意のバージョン番号を割り当てます。

たとえば、`zoo_model` という名の アーティファクト を 3 回リンクすると、W\&B はそれぞれ `v0`、`v1`、`v2` という 3 つのエイリアスを作成します。`v2` には `latest` エイリアスも付きます。

<div id="custom-aliases">
  ## カスタムエイリアス
</div>

固有のユースケースに応じて、特定のアーティファクトバージョンに 1 つ以上のカスタムエイリアスを作成できます。たとえば、次のような使い方があります。

* モデルのトレーニングに使用したデータセットを識別するために、`dataset_version_v0`、`dataset_version_v1`、`dataset_version_v2` といったエイリアスを使用できます。
* 最も高い性能を持つアーティファクトモデルのバージョンを追跡するために、`best_model` エイリアスを使用できます。

Registry で [**Member** または **Admin** Registry ロール](/ja/models/registry/configure_registry/#registry-roles) を持つユーザーは、その Registry 内でリンクされたアーティファクトにカスタムエイリアスを追加または削除できます。[**Restricted Viewer** または **Viewer** ロール](/ja/models/registry/configure_registry/#registry-roles) を持つ Users は、エイリアスを追加または削除できません。

<Note>[保護されたエイリアス](/ja/models/registry/aliases/#protected-aliases) を使うと、変更や削除から保護するアーティファクトバージョンにラベルを付けて識別できます。</Note>

W\&B Registry または Python SDK を使用してカスタムエイリアスを作成できます。ユースケースに応じて、ニーズに最も合う以下のタブをクリックしてください。

<Tabs>
  <Tab title="W&B Registry">
    1. W\&B Registry にアクセスします。
    2. コレクション内の **View details** ボタンをクリックします。
    3. **Versions** セクションで、対象のアーティファクトバージョンの **View** ボタンをクリックします。
    4. **Aliases** フィールドの横にある **+** ボタンをクリックして、1 つ以上のエイリアスを追加します。
  </Tab>

  <Tab title="Python SDK">
    Python SDK を使用してアーティファクトバージョンをコレクションにリンクする際に、[`link_artifact()`](/ja/models/ref/python/experiments/run.md/#link_artifact) の `alias` パラメーターの引数として、必要に応じて 1 つ以上のエイリアスのリストを指定できます。指定したエイリアスがまだ存在しない場合、W\&B がエイリアス ([非保護エイリアス](#custom-aliases)) を作成します。

    次のコードスニペットは、Python SDK を使用してアーティファクトバージョンをコレクションにリンクし、そのアーティファクトバージョンにエイリアスを追加する方法を示しています。`<>` 内の値はご自身の値に置き換えてください。

    ```python theme={null}
    import wandb

    # run を初期化します
    with wandb.init(entity = "<team_entity>", project = "<project_name>") as run:

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

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

        # artifact のリンク先となるコレクションと Registry を指定します
        REGISTRY_NAME = "<registry_name>"
        COLLECTION_NAME = "<collection_name>"
        target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

        # artifact バージョンをコレクションにリンクします
        # この artifact バージョンに 1 つ以上のエイリアスを追加します
        run.link_artifact(
            artifact = artifact,
            target_path = target_path,
            aliases = ["<alias_1>", "<alias_2>"]
            )
    ```
  </Tab>
</Tabs>

<div id="protected-aliases">
  ### 保護されたエイリアス
</div>

変更や削除を防ぎたい アーティファクト バージョンにラベルを付けて識別するには、[保護されたエイリアス](/ja/models/registry/aliases/#protected-aliases)を使用します。たとえば、組織の機械学習の本番パイプラインで使用している アーティファクト バージョンにラベルを付けて識別するために、`production` の保護されたエイリアスを使用できます。

[Registry 管理者](/ja/models/registry/configure_registry/#registry-roles)ユーザーと、**Admin** ロールを持つ[サービスアカウント](/ja/support/models/articles/what-is-a-service-account-and-why-is-it-)は、保護されたエイリアスを作成したり、アーティファクト バージョンに保護されたエイリアスを追加または削除したりできます。**Member**、**Viewer**、**Restricted Viewer** ロールを持つ Users とサービスアカウントは、保護されたバージョンのリンクを解除したり、保護されたエイリアスを含む コレクション を削除したりできません。詳しくは、[Registry access の設定](/ja/models/registry/configure_registry/)を参照してください。

一般的な保護されたエイリアスには、次のものがあります。

* **Production**: その アーティファクト バージョンは本番環境で使用できる状態です。
* **Staging**: その アーティファクト バージョンはテストできる状態です。

<div id="create-a-protected-alias">
  #### 保護されたエイリアスを作成する
</div>

以下の手順では、W\&B Registry UI で保護されたエイリアスを作成する方法を説明します。

1. W\&B Registry にアクセスします。
2. レジストリを選択します。
3. ページ右上の歯車アイコンをクリックして、レジストリの Settings を表示します。
4. **Protected Aliases** セクションで、**+** ボタンをクリックして 1 つ以上の保護されたエイリアスを追加します。

作成後、各保護されたエイリアスは、**Protected Aliases** セクションにロックアイコン付きの灰色の長方形として表示されます。

<Note>
  保護されていないカスタムエイリアスとは異なり、保護されたエイリアスは W\&B Registry UI でのみ作成でき、Python SDK からプログラムで作成することはできません。アーティファクト バージョンに保護されたエイリアスを追加するには、W\&B Registry UI または Python SDK を使用できます。
</Note>

以下の手順では、W\&B Registry UI を使用して アーティファクト バージョンに保護されたエイリアスを追加する方法を説明します。

1. W\&B Registry にアクセスします。
2. コレクション内の **View details** ボタンをクリックします。
3. **Versions** セクションで、特定の アーティファクト バージョンの **View** ボタンを選択します。
4. **Aliases** フィールドの横にある **+** ボタンをクリックして、1 つ以上の保護されたエイリアスを追加します。

保護されたエイリアスを作成すると、管理者は Python SDK を使ってそのエイリアスを アーティファクト バージョンにプログラムで追加できます。アーティファクト バージョンに保護されたエイリアスを追加する方法の例については、上記の [Create a custom alias](#custom-aliases) セクションにある W\&B Registry タブと Python SDK タブを参照してください。

<div id="find-existing-aliases">
  ## 既存のエイリアスを検索する
</div>

既存のエイリアスは、[W\&B Registry のグローバル検索バー](/ja/models/registry/search_registry/#search-for-registry-items)で検索できます。保護されたエイリアスを検索するには、次の手順に従います。

1. W\&B Registry にアクセスします。
2. ページ上部の検索バーに検索語を入力し、Enter キーを押して検索します。

入力した語が既存のレジストリ、コレクション名、アーティファクト のバージョンタグ、コレクションタグ、またはエイリアスに一致すると、検索結果が検索バーの下に表示されます。

<div id="example">
  ## 例
</div>

<Note>
  以下のコード例は、こちらの [W\&B Registry Tutorial ノートブック](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/wandb_registry/zoo_wandb.ipynb) の続きです。以下のコードを使用するには、まず [ノートブックで説明されている手順に従って Zoo データセットを取得し、処理する](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/wandb_registry/zoo_wandb.ipynb#scrollTo=87fecd29-8146-41e2-86fb-0bb4e3e3350a) 必要があります。Zoo データセットを用意したら、アーティファクト バージョンを作成し、カスタムエイリアスを追加できます。
</Note>

以下のコードスニペットでは、アーティファクト バージョンを作成し、カスタムエイリアスを追加する方法を示します。この例では、[UCI Machine Learning Repository](https://archive.ics.uci.edu/dataset/111/zoo) の Zoo データセットと、`Zoo_Classifier_Models` Registry 内の `Model` コレクション を使用します。

```python theme={null}
import wandb

# run を初期化する
with wandb.init(entity = "smle-reg-team-2", project = "zoo_experiment") as run:

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

    # アーティファクト オブジェクトにファイルを追加する。
    # ローカルマシン上のファイルのパスを指定する。
    artifact.add_file(local_path="zoo_dataset.pt", name="zoo_dataset")
    artifact.add_file(local_path="zoo_labels.pt", name="zoo_labels")

    # アーティファクトをリンクするコレクションと Registry を指定する
    REGISTRY_NAME = "Model"
    COLLECTION_NAME = "Zoo_Classifier_Models"
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

    # アーティファクト バージョンをコレクションにリンクする
    # このアーティファクト バージョンに 1 つ以上のエイリアスを追加する
    run.link_artifact(
        artifact = artifact,
        target_path = target_path,
        aliases = ["production-us", "production-eu"]
        )
```

1. まず、アーティファクト オブジェクト (`wandb.Artifact()`) を作成します。
2. 次に、2 つのデータセットの PyTorch テンソルを `wandb.Artifact.add_file()` で アーティファクト オブジェクトに追加します。
3. 最後に、`link_artifact()` を使って アーティファクト バージョンを `Zoo_Classifier_Models` Registry 内の `Model` コレクションにリンクします。また、`aliases` パラメーターに `production-us` と `production-eu` を引数として渡し、アーティファクト バージョンに 2 つのカスタムエイリアスも追加します。
