Skip to main content

Try in Colab

このページでは、W&B Launch job の作成方法を説明します。これにより、必要に応じて W&B run を再現できます。Launch job は W&B run を再現するための設計図です。ジョブは W&B Artifacts であり、ワークロードの実行に必要なソースコード、依存関係、および入力を取得します。 Git リポジトリ、ローカルのコードディレクトリ、または事前にビルドされた Docker image からワークロードをパッケージ化し、後で異なるパラメーターや異なるインフラストラクチャーで再実行したい場合に、このページを使用してください。 wandb launch コマンドを使用してジョブを作成および実行します。
実行のために送信せずにジョブを作成するには、wandb job create コマンドを使用します。詳細については、コマンドリファレンスドキュメント を参照してください。

Git ジョブ

ソースコードがリモートリポジトリにあり、Launch が特定のコミット、ブランチ、またはタグでそれをクローンする場合に、Git ベースのジョブを使用します。W&B Launch は、リモート Git リポジトリのコミット、ブランチ、またはタグからコードおよびその他の追跡されたアセットをクローンします。コードを含む URI を指定するには --uri または -u フラグを使用し、サブディレクトリを指定するにはオプションの --build-context フラグを使用します。 Git リポジトリから hello world ジョブを実行するには、次のコマンドを使用します:
コマンドは次のことを行います:
  1. W&B Launch jobs リポジトリ を一時ディレクトリにクローンします。
  2. hello project に hello-world-git という名前のジョブを作成します。このジョブは、リポジトリのデフォルトブランチの先頭にあるコミットに関連付けられます。
  3. jobs/hello_world ディレクトリと Dockerfile.wandb からコンテナーイメージをビルドします。
  4. コンテナーを起動し、python job.py を実行します。
コマンドの完了後、hello-world project に再利用可能な Git ベースのジョブが作成され、他のユーザーまたはオートメーションが wandb launch で再実行できるようになります。 特定のブランチまたはコミットハッシュからジョブをビルドするには、-g、--git-hash 引数を追加します。引数の完全なリストについては、wandb launch --help を実行してください。

リモート URL の形式

Launch job に関連付けられた Git リモートは、HTTPS または SSH の URL のいずれかです。URL のタイプは、ジョブのソースコードを取得するために使用されるプロトコルを決定します。 なお、正確な URL の形式はホスティングプロバイダーによって異なります。wandb launch --uri を使用して作成されたジョブは、指定された --uri で指定された転送プロトコルを使用します。

コードアーティファクトジョブ

ソースがリモートの Git リポジトリではなくローカルディレクトリにある場合に、コードアーティファクトジョブを使用します。W&B アーティファクトに保存されている任意のソースコードからジョブを作成できます。ローカルディレクトリを --uri または -u 引数で使用して、新しいコードアーティファクトとジョブを作成します。 開始するには、空のディレクトリを作成し、main.py という名前の Python スクリプトを次の内容で追加します:
requirements.txt というファイルに以下の内容を追加します:
ディレクトリをコードアーティファクトとしてログして、以下のコマンドでジョブを起動します:
前のコマンドは次のことを行います。
  1. カレントディレクトリを hello-world-code という名前のコードアーティファクトとしてログします。
  2. launch-quickstart project に hello-world-code という名前のジョブを作成します。
  3. カレントディレクトリと Launch のデフォルトの Dockerfile からコンテナーイメージをビルドします。デフォルトの Dockerfile は requirements.txt ファイルをインストールし、エントリポイントを python main.py に設定します。
コマンドが完了すると、ローカルコードは W&B のコードアーティファクトとして取得され、launch-quickstart project の再利用可能なジョブに関連付けられます。

Image ジョブ

あるいは、事前に作成された Docker image から ジョブ を構築することもできます。このアプローチは、ML コード用のビルドシステムをすでに持っている場合、または ジョブ のコードや要件を調整する予定はないが、ハイパーパラメーターや異なるインフラストラクチャースケールで実験したい場合に便利です。 Launch は Docker registry から image をプルし、指定されたエントリポイントで実行します。指定がない場合はデフォルトのエントリポイントを使用します。Docker image から ジョブ を作成して実行するには、完全なイメージタグを --docker-image オプションに渡します。 次のコマンドで、事前に作成された image から ジョブ を実行します:

ジョブの自動作成

wandb launch で明示的に作成するジョブに加えて、W&B は追跡されたコードの実行に伴う副作用としてジョブを作成できます。W&B は、追跡されたソースコードを持つ run に対して、Launch で作成されたものでなくても、自動的にジョブを作成して追跡します。以下の3つの条件のいずれかを満たす場合、run は追跡されたソースコードを持っていると見なされます:
  • run に Git リモートとコミットハッシュが関連付けられている。
  • run がコードアーティファクトをログしています。Run.log_code を参照してください。
  • run が WANDB_DOCKER 環境変数がイメージタグに設定された Docker コンテナーで実行された。
W&B が W&B run から Launch ジョブを自動的に作成する場合、W&B はローカルの Git リポジトリから Git リモート URL を推測します。

Launch ジョブ名

デフォルトでは、W&B がジョブ名を自動的に生成します。名前はジョブの作成方法 (GitHub、コードアーティファクト、または Docker image) によって異なります。または、環境変数または W&B Python SDK を使用して Launch ジョブの名前を定義できます。 次の表は、ジョブソースに基づいてデフォルトで使用されるジョブ命名規則を説明しています。 W&B 環境変数または W&B Python SDK を使用してジョブに名前を付けます。
希望するジョブ名に WANDB_JOB_NAME 環境変数を設定します。例:
Docker image ジョブの場合、W&B はバージョンのエイリアスをジョブのエイリアスとして自動的に追加します。

コンテナー化

ジョブはコンテナー内で実行されます。Image jobs は事前にビルドされた Docker image を使用しますが、Git およびコードアーティファクトのジョブはコンテナービルドステップを必要とします。 wandb launch への引数やジョブのソースコード内のファイルを使用して、ジョブのコンテナー化をカスタマイズできます。以下のセクションでは、ビルドコンテキストの制御、カスタム Dockerfile の提供、Python の依存関係の管理方法について説明します。

Build context

「build context」という用語は、コンテナーイメージをビルドするために Docker デーモンに送信されるファイルとディレクトリのツリーを指します。デフォルトでは、Launch はジョブのソースコードのルートを build context として使用します。サブディレクトリを build context として指定するには、ジョブを作成して起動する際に wandb launch の --build-context 引数を使用します。
--build-context 引数は、複数の project を含む monorepo を参照する Git ジョブで作業する場合に便利です。サブディレクトリを build context として指定することで、monorepo 内の特定の project 用のコンテナーイメージをビルドできます。公式の W&B Launch jobs repository で --build-context 引数の使い方の実演を確認するには、Git ジョブ を参照してください。

Dockerfile

Dockerfile は、Docker イメージをビルドするための手順を含むテキストファイルです。デフォルトでは、Launch は requirements.txt ファイルをインストールするデフォルトの Dockerfile を使用します。カスタムの Dockerfile を使用するには、wandb launch の --dockerfile 引数でファイルのパスを指定します。 ビルドコンテキストからの相対パスで Dockerfile のパスを指定します。たとえば、ビルドコンテキストが jobs/hello_world で、Dockerfile が jobs/hello_world ディレクトリにある場合、--dockerfile 引数を Dockerfile.wandb に設定します。公式の W&B Launch jobs リポジトリで --dockerfile 引数の使い方のデモについては、Git ジョブ を参照してください。

要件ファイル

カスタム Dockerfile が提供されていない場合、Launch は build context 内でインストールする Python dependencies を探します。build context のルートに requirements.txt ファイルが見つかった場合、Launch はそのファイルにリストされた dependencies をインストールします。それ以外の場合は、pyproject.toml ファイルが見つかった場合、Launch は project.dependencies セクションから dependencies をインストールします。
最終更新日 2026年9月30日