このチュートリアルでは、既存のW&Bプロジェクトからsweepジョブを作成する方法を説明します。Fashion MNISTデータセットを使用して、画像を分類するPyTorchの畳み込みニューラルネットワークをトレーニングします。必要なコードとデータセットは、W&B examplesリポジトリ (PyTorch CNN Fashion) にあります。
結果はこのW&Bダッシュボードで確認できます。
まず、ベースラインを作成します。W&B examples の GitHub repository から PyTorch MNIST データセットのサンプルモデルをダウンロードします。次に、モデルをトレーニングします。トレーニングスクリプトは examples/pytorch/pytorch-cnn-fashion ディレクトリにあります。
- このリポジトリをクローンします
git clone https://github.com/wandb/examples.git
- このサンプルのディレクトリに移動します
cd examples/pytorch/pytorch-cnn-fashion
- run を手動で実行します
python train.py
必要に応じて、W&B App UI のダッシュボードでこのサンプルを確認してください。
サンプルのプロジェクトページを表示 →
プロジェクトページで、プロジェクトのサイドバーにある Sweep タブ を開き、Create Sweep を選択します。
自動生成された設定は、完了済みの run に基づいて、sweep する値を推定します。試したいハイパーパラメーターの範囲を指定するように設定を編集します。sweep を起動すると、W&B のホスト型 sweep サーバー上で新しいプロセスが開始されます。この集中管理型サービスが、agent (トレーニング ジョブを実行しているマシン) を調整します。
次に、ローカルでagentを起動します。作業を分散して sweep ジョブをより早く完了したい場合は、異なるマシン上で最大 20 個のagentを並列に起動できます。agentは、次に試行するパラメーターのセットを出力します。
これで sweep を実行中です。次の画像は、サンプルの sweep ジョブの実行中にダッシュボードがどのように表示されるかを示しています。プロジェクトページの例を表示 →
これまでにログした既存のrunを使用して、新しいsweepを開始します。
- プロジェクトの表を開きます。
- 表の左側にあるチェックボックスで、使用するrunを選択します。
- ドロップダウンをクリックして、新しいsweepを作成します。
これで、sweepがサーバー上に設定されます。あとは、1つ以上のagentを起動して、runを実行するだけです。
新しいsweepをベイズsweepとして開始すると、選択したrunはガウス過程の初期化にも使用されます。