Colab で試す
wandb launch コマンドを使用して、ジョブを作成および実行します。
実行のために送信せずにジョブを作成するには、
wandb job create コマンドを使用します。詳細については、コマンド リファレンス ドキュメントを参照してください。Git ジョブ
--uri または -u フラグで指定し、必要に応じて --build-context フラグでサブディレクトリを指定できます。
次のコマンドを使用して、Git リポジトリから “hello world” ジョブを実行します。
- W&B Launch jobs repository を一時ディレクトリーにクローンします。
- hello project に hello-world-git という名前のジョブを作成します。このジョブは、リポジトリーのデフォルトブランチの先頭のコミットに関連付けられます。
jobs/hello_worldディレクトリーとDockerfile.wandbからコンテナーイメージをビルドします。- コンテナーを起動し、
python job.pyを実行します。
-g または --git-hash 引数を追加します。引数の一覧を確認するには、wandb launch --help を実行します。
リモート URL の形式
| リモート URL のタイプ | URL 形式 | アクセスと認証の要件 |
|---|---|---|
| https | https://github.com/organization/repository.git | git リモートの認証に使用するユーザー名とパスワード |
| ssh | git@github.com:organization/repository.git | git リモートの認証に使用する SSH キー |
wandb launch --uri で作成されたジョブでは、指定した --uri の転送プロトコルが使用されます。
コード Artifact ジョブ
--uri または -u 引数で指定して、新しいコード Artifact とジョブを作成します。
まず、空のディレクトリを作成し、main.py という名前の Python スクリプトに次の内容を追加します。
requirements.txt ファイルを追加します。
- 現在のディレクトリを、
hello-world-codeという名前のコードアーティファクトとしてログします。 launch-quickstartproject に、hello-world-codeという名前のジョブを作成します。- 現在のディレクトリと Launch のデフォルトの Dockerfile からコンテナーイメージをビルドします。デフォルトの Dockerfile では、
requirements.txtファイルがインストールされ、エントリポイントがpython main.pyに設定されます。
Image jobs
--docker-image オプションに完全な image tag を渡すと、Docker image からジョブを作成して run できます。
事前に作成した image から simple なジョブを run するには、次のコマンドを使用します。
ジョブの自動作成
- その run に関連付けられた git リモートとコミットハッシュがある。
- その run がコード artifact をログした。
Run.log_codeを参照してください。 - その run が、
WANDB_DOCKER環境変数にイメージタグが設定された Docker コンテナー内で実行された。
Launch ジョブ名
| ソース | 命名規則 |
|---|---|
| GitHub | job-<git-remote-url>-<path-to-script> |
| Code artifact | job-<code-artifact-name> |
| Docker image | job-<image-name> |
- 環境変数
- W&B Python SDK
WANDB_JOB_NAME 環境変数を、希望するジョブ名に設定します。例:Docker image ジョブでは、version alias がジョブの alias として自動的に追加されます。
コンテナー化
wandb launch の引数と、ジョブのソースコード内のファイルを使ってカスタマイズできます。
ビルドコンテキスト
wandb launch の --build-context 引数を使用します。
--build-context 引数は、複数の Projects を含むモノレポを参照する Git ジョブを扱う場合に特に便利です。ビルドコンテキストとしてサブディレクトリーを指定すると、モノレポ内の特定の project 向けのコンテナーイメージをビルドできます。公式の W&B Launch jobs リポジトリーで --build-context 引数をどのように使用するかについては、上記の例を参照してください。Dockerfile
requirements.txt ファイルをインストールするデフォルトの Dockerfile を使用します。カスタム Dockerfile を使用するには、wandb launch の --dockerfile 引数でそのファイルへのパスを指定します。
Dockerfile のパスは、ビルドコンテキストからの相対パスで指定します。たとえば、ビルドコンテキストが jobs/hello_world で、Dockerfile が jobs/hello_world ディレクトリ内にある場合は、--dockerfile 引数を Dockerfile.wandb に設定します。公式の W&B Launch ジョブリポジトリで --dockerfile 引数をどのように使用するかについては、上記の例を参照してください。
Requirements file
requirements.txt ファイルが見つかった場合、Launch はそのファイルに記載された依存関係をインストールします。見つからない場合は、pyproject.toml ファイルがあれば、Launch は project.dependencies セクションから依存関係をインストールします。