デフォルトでは、サンドボックスは
python:3.11 をベースイメージとして使用します。別のイメージを使用するには、Sandbox.run() または SandboxDefaults に container_image を渡してください。W&B はパブリックなコンテナーイメージのみをサポートします。次のコードスニペットは、python:3.15 イメージでサンドボックスを作成し、その中で python --version を実行します。サンドボックスを作成する
Sandbox.run() を使用して、サンドボックスを作成し、起動します。このメソッドは、環境とやり取りするために使用できる Sandbox オブジェクトを返します。
次の例では、デフォルトのコンテナーイメージ (python:3.11) を使用してサンドボックスを作成します。
メイン コマンドを指定せずにサンドボックスを開始する
Sandbox.run() を呼び出します。
メインコマンドを指定して サンドボックス を開始する
Sandbox.run() にコマンドを渡すこともできます。サンドボックス で 1 つのジョブを開始から終了まで実行させる場合は、このパターンを使用してください。メインプロセスが終了すると、サンドボックス は COMPLETED or FAILED などの終了状態に入ります。
Sandbox.run() に渡したコマンドは、サンドボックス のメインプロセスとして起動されます。
Sandbox.run() は、コマンドを監視し、完了を待機するために使用できる Sandbox オブジェクトを返します。たとえば、コマンドの完了を待って結果を取得するには、次のようにします。
セッションで複数のサンドボックスを作成する
Session を使用すると、複数のサンドボックスを作成して管理できます。セッションが閉じられると (たとえば with ブロックを終了したとき) 、そのセッションで作成されたすべてのサンドボックスは自動的に停止します。
必要に応じて、SandboxDefaults オブジェクトをセッションに渡して、そのセッションで作成されるすべてのサンドボックスに適用する再利用可能なデフォルト設定を定義できます。たとえば、セッション内のすべてのサンドボックスに対して、デフォルトのコンテナーイメージ、ネットワーク設定、または最大有効期間を指定できます。
session.sandbox() は、まだ開始されていないサンドボックスを返します。Sandbox.exec()、Sandbox.read_file()、またはその他の操作を呼び出すと、自動的に開始されます。
次のコードスニペットは、デフォルト設定 (SandboxDefaults) を使用する 2 つのサンドボックスを作成するセッションを作成します。