この構成は、ローカルマシンで実験を実行するユーザーや、リモートマシンに SSH 接続して launch ジョブを投入するユーザーによく使われます。
docker run [IMAGE-URI] コマンドを使用します。W&B はキュー設定を、docker run コマンドに渡す追加の引数として解釈します。
Docker キューを設定する
Docker ターゲットリソースのキュー設定は、Launch がキューのオプションをdocker run コマンドに変換する方法を定義します。
Launch キュー設定 (Docker ターゲットリソース用) は、docker run CLI コマンドで定義されているものと同じオプションを受け入れます。
エージェントは、キュー設定で定義されたオプションを受け取ります。次に、受け取ったオプションを Launch job の設定にあるオーバーライドとマージし、ターゲットリソース (この場合はローカルマシン) で実行する最終的な docker run コマンドを生成します。
次の 2 つの構文変換が行われます。
- キュー設定で、繰り返し指定するオプションをリストとして定義します。
- キュー設定で、フラグオプションを値が
trueのブール値として定義します。
docker run コマンドになります。
MY_EXISTING_ENV_VAR がある場合、その変数はコンテナー内で使用できます。これは、他の設定キーをキュー設定で公開せずに使用したい場合に便利です。
docker run コマンドの --gpus フラグを使用すると、Docker コンテナーで使用できる GPU を指定できます。--gpus フラグの詳細については、Docker のドキュメントを参照してください。
- Docker コンテナー内で GPU を使用するには、NVIDIA Container Toolkit をインストールしてください。
-
コードまたはアーティファクトをソースとするジョブからイメージをビルドする場合、エージェントが使用するベースイメージを上書きして、NVIDIA Container Toolkit を含めることができます。
たとえば、launch キュー内でベースイメージを
tensorflow/tensorflow:latest-gpuに上書きできます。
キューを作成する
Docker をコンピュートリソースとして使用するキューを作成するには、次の手順に従ってください。- Launch ページ にアクセスします。
- Create Queue ボタンをクリックします。
- キューを作成する Entity を選択します。
- Name フィールドにキューの名前を入力します。
- Resource で Docker を選択します。
- Configuration フィールドで Docker キューの設定を定義します。
- Create Queue ボタンをクリックします。
ローカルマシンで Launch エージェントを設定する
launch-config.yaml という名の YAML 設定ファイルで Launch エージェントを設定します。デフォルトでは、W&B は ~/.config/wandb/launch-config.yaml にある設定ファイルを確認します。Launch エージェントを有効化するときに、必要に応じて別のディレクトリを指定できます。
W&B CLI を使用して、Launch エージェントの主要な設定項目 (ジョブの最大数、W&B entity、launch キュー) を指定できます (YAML 設定ファイルの代わりに使用します) 。詳細については、
wandb launch-agent コマンドを参照してください。エージェント設定の主要オプション
以下のタブでは、W&B CLI と YAML 設定ファイルを使用して、エージェント設定の主要オプションを指定する方法を示します。- W&B CLI
- 設定ファイル
Docker イメージビルダー
マシン上の Launch エージェントを設定して、Docker イメージをビルドできます。デフォルトでは、これらのイメージはマシンのローカルイメージリポジトリに保存されます。Launch エージェントで Docker イメージをビルドできるようにするには、Launch エージェント設定のbuilder キーを docker に設定します:
launch-config.yaml
builder キーを noop に設定します:
launch-config.yaml