前提条件
始める前に、以下のセットアップ手順を完了してください。W&B Python SDK をインストール
W&B Python SDK は、後で Serverless Sandbox を作成して操作する際に使用するSandbox インターフェースを提供します。pip を使用してインストールします:
W&B にログインして認証する
W&B Serverless Sandboxes はお使いの W&B アカウントで実行されるため、作成する前に認証する必要があります。wandb login CLI コマンドを実行し、表示される案内に従ってログインします。
wandb login のリファレンスドキュメントを参照してください。
トレーニングスクリプトと依存関係をコピーする
このチュートリアルに必要な 3 つのファイル (requirements ファイル、ハイパーパラメーター ファイル、トレーニングスクリプト) を用意します。次のドロップダウンを展開し、各コードサンプルをこのチュートリアルと同じディレクトリ内の別々のファイルにコピーしてください。 次のセクションでは、これらのファイルを読み込んで、W&B Serverless Sandbox で PyTorch モデルをトレーニングするスクリプトを実行します。PyTorch トレーニングモデルスクリプト
PyTorch トレーニングモデルスクリプト
以下のコードを 以下のコードを 以下のコードを
requirements.txt という名前のファイルにコピー&ペーストしてください。このファイルには、トレーニングスクリプトに必要な依存関係が含まれています。requirements.txt
hyperparameters.yaml という名前の YAML ファイルにコピー&ペーストしてください。このファイルには、トレーニングスクリプトのハイパーパラメーターが含まれています。hyperparameters.yaml
train.py という名前のファイルにコピー&ペーストしてください。このスクリプトは、UCI Zoo データセットで PyTorch モデルをトレーニングし、トレーニング済みのモデルを zoo_wandb.pth という名前のファイルに保存します。train.py
サンドボックスを作成してトレーニングスクリプトを実行する
トレーニングファイルの準備ができたら、1 つの Python スクリプトから W&B Serverless Sandbox を作成して管理します。次のコードスニペットでは、サンドボックスを作成し、その中にトレーニングスクリプトと依存関係をコピーし、トレーニングスクリプトを実行して、生成されたモデルファイルをダウンロードする方法を示します。次のセクションでは、このコードを1行ずつ説明します。 次のコードを Python ファイルにコピー&ペーストして実行してください。前の手順で作成したtrain.py、requirements.txt、hyperparameters.yaml と同じディレクトリに保存してください。
train_in_sandbox.py
- (6〜9行目) サンドボックスにマウントするファイル (
train.pyとrequirements.txt) を指定します。 - (12行目) サンドボックスを起動します。サンドボックスは、
python:3.13コンテナーイメージを使用し、インターネットアクセスを有効にし、最大有効期間を 3600 秒 (1 時間) に設定しています。 - (18行目)
hyperparameters.yamlファイルをサンドボックスに書き込みます。これにより、トレーニングスクリプト (train.py) の実行時にハイパーパラメーターへアクセスできるようになります。 - (22行目) 依存関係をインストールします。サンドボックス内で
pip install -r requirements.txtコマンドが実行され、トレーニングスクリプトに必要な依存関係がインストールされます。 - (26行目) トレーニングスクリプトを実行します。サンドボックス内で
python train.py --config hyperparameters.yamlコマンドが実行され、トレーニングが開始されます。このスクリプトは UCI Zoo データセットで PyTorch モデルをトレーニングし、トレーニング済みのモデルをzoo_wandb.pthという名前のファイルに保存します。 - (27〜29行目) 出力と終了コードを表示します。トレーニングスクリプトの実行完了後、デバッグと検証のために、標準出力、標準エラー出力、終了コードがコンソールに表示されます。
- (33〜34行目) 生成されたモデルファイルをダウンロードします。
read_file()メソッドでサンドボックスからzoo_wandb.pthを読み取り、スクリプトがそれをローカルに保存します。
zoo_wandb.pth として保存されたトレーニング済みの PyTorch モデルが作成されます。それを生成したサンドボックスは、必要に応じて作成、使用、破棄されます。