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

# Launch キューを設定

> デフォルト値、最小値、最大値を含む設定テンプレートなど、Launch キューの高度なオプションを設定します。

このページでは、設定テンプレート、動的マクロ、アクセラレータのベースイメージなど、Launch キューの高度なオプションを設定する方法を説明します。これらのオプションは、管理者がガードレールを適用し、特定のコンピューティング環境に合わせてキューを調整するのに役立ちます。

<div id="set-up-queue-config-templates">
  ## 設定テンプレートを設定する
</div>

設定テンプレートを使用すると、管理者は計算リソースの消費に対するガードレールを管理できます。メモリ使用量、GPU、実行時間などの項目について、デフォルト値、最小値、最大値を設定します。

設定テンプレートでキューを設定すると、チームメンバーは、あなたが定義した項目を、指定した範囲内でのみ変更できます。

<div id="configure-queue-template">
  ### キューテンプレートを設定する
</div>

既存のキューまたは新しいキューで、キューテンプレートを設定できます。次の手順では、キューの設定にテンプレートフィールドを追加し、チームメンバーが定義した制限の範囲内でのみ値を設定できるようにします。

1. [W\&B Launch App](https://wandb.ai/launch) にアクセスします。
2. テンプレートを追加するキューの名の横にある **View queue** を選択します。
3. **Config** タブを選択します。ここには、キューの作成日時、キューの設定、既存の起動時オーバーライドなど、キューに関する情報が表示されます。
4. **Queue config** セクションにアクセスします。
5. テンプレートを作成したい設定のキーと値を特定します。
6. 設定内の値をテンプレートフィールドに置き換えます。テンプレートフィールドは `{{variable-name}}` の形式です。
7. **Parse configuration** ボタンをクリックします。設定を解析すると、W\&B は作成した各テンプレートに対応するタイルを キュー設定 の下に自動的に作成します。
8. 生成された各タイルについて、まず キュー設定 で許可するデータタイプ (string、integer、または float) を指定する必要があります。これを行うには、**Type** ドロップダウンメニューからデータタイプを選択します。
9. データタイプに応じて、各タイル内に表示されるフィールドに入力します。
10. **Save config** をクリックします。

設定を保存すると、以降の Launch でキューにテンプレートの制約が適用されます。

たとえば、チームが使用できる AWS インスタンスを制限するテンプレートを作成したいとします。テンプレートフィールドを追加する前のキュー設定は、次のようになっている場合があります。

```yaml title="launch config" theme={null}
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: ml.m4.xlarge
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
```

`InstanceType` のテンプレートフィールドを追加すると、設定は次のようになります。

```yaml title="launch config" theme={null}
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: "{{aws_instance}}"
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
```

次に、**Parse configuration** をクリックします。すると、**Queue config** の下に `aws-instance` というラベルの新しいタイルが表示されます。

次に、**Type** ドロップダウンからデータ型として String を選択します。すると、ユーザーが選択できる値を指定するためのフィールドが表示されます。たとえば、次の画像では、Team Admin がユーザー向けに 2 つの AWS インスタンスタイプ (`ml.m4.xlarge` と `ml.p3.xlarge`) を設定しています。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sdk-testing-latest/5BwwFpNAnQO_33rW/images/launch/aws_template_example.png?fit=max&auto=format&n=5BwwFpNAnQO_33rW&q=85&s=ed3b71103cdcb3b61829f9fd54da4556" alt="AWS インスタンスタイプのオプションを含む Launch キューのテンプレートタイル" width="942" height="988" data-path="images/launch/aws_template_example.png" />
</Frame>

<div id="dynamically-configure-launch-jobs">
  ## Launch ジョブを動的に設定する
</div>

キュー設定は、agent がキューからジョブを取り出す際に評価されるマクロを使って動的に設定できます。マクロを使用すると、起動時に run 固有の値をキュー設定に挿入できます。設定できるマクロは次のとおりです。

| Macro             | Description             |
| ----------------- | ----------------------- |
| `${project_name}` | run の起動先のプロジェクト名。       |
| `${entity_name}`  | run の起動先のプロジェクトの所有者。    |
| `${run_id}`       | 起動される run の ID。         |
| `${run_name}`     | 起動される run の名前。          |
| `${image_uri}`    | この run のコンテナーイメージの URI。 |

<Note>
  前の表に記載されていないカスタムマクロ (たとえば `${MY_ENV_VAR}`) は、agent の環境変数の値に置き換えられます。
</Note>

<div id="use-the-launch-agent-to-build-images-that-execute-on-accelerators-or-gpus">
  ## アクセラレータまたは GPU 上で実行するイメージを build するために Launch agent を使用する
</div>

アクセラレータ環境で実行するイメージを build するために Launch を使用する場合、生成されるイメージを対象のハードウェアと互換性のあるものにするために、アクセラレータのベースイメージを指定する必要があることがあります。

アクセラレータのベースイメージは、次の要件を満たす必要があります。

* Debian との互換性。Launch の Dockerfile では、`apt-get` を使用して `python` を取得します。
* CPU および GPU のハードウェア命令セットとの互換性。使用する予定の GPU で CUDA のバージョンがサポートされていることを確認してください。
* 指定するアクセラレータのバージョンと、ML アルゴリズムにインストールされているパッケージとの互換性。
* インストールされたパッケージをハードウェアと互換性がある状態にするために必要な追加の設定手順。

<div id="use-gpus-with-tensorflow">
  ### TensorFlow で GPU を使用する
</div>

TensorFlow が GPU を使用するようにするには、キューのリソース設定で `builder.accelerator.base_image` キーに Docker image とその image tag を指定します。

たとえば、`tensorflow/tensorflow:latest-gpu` をベースイメージに指定すると、TensorFlow で GPU を正しく使用できます。これは、キューのリソース設定で構成できます。

次の JSON スニペットは、キュー設定で TensorFlow のベースイメージを指定する方法を示しています。

```json title="Queue config" theme={null}
{
    "builder": {
        "accelerator": {
            "base_image": "tensorflow/tensorflow:latest-gpu"
        }
    }
}
```
