メインコンテンツへスキップ
このチュートリアルでは、既存の W&B プロジェクトからスイープジョブを作成する方法を説明します。Fashion MNIST dataset を使用して、PyTorch の畳み込みニューラルネットワークで画像を分類するモデルを学習します。必要なコードとデータセットは、W&B examples repository (PyTorch CNN Fashion) にあります。 結果はこの W&B ダッシュボード で確認できます。

1. プロジェクトを作成する

まずベースラインを作成します。W&B examples の GitHub リポジトリから PyTorch MNIST データセットのサンプルモデルをダウンロードします。次に、そのモデルを学習します。学習スクリプトは examples/pytorch/pytorch-cnn-fashion ディレクトリ内にあります。
  1. このリポジトリをクローンします git clone https://github.com/wandb/examples.git
  2. このサンプルのディレクトリに移動します cd examples/pytorch/pytorch-cnn-fashion
  3. run を手動で実行します python train.py
任意で、W&B App UI のダッシュボードから、このサンプルの run を確認します。 サンプルのプロジェクトページを表示 →

2. スイープを作成

プロジェクトのページから、プロジェクトのサイドバーにある Sweep タブ を開き、Create Sweep をクリックします。
スイープの概要
自動生成された設定は、これまでに完了した run をもとにスイープ対象とする値を推定します。試したいハイパーパラメータの範囲を指定できるように、この設定を編集します。スイープを起動すると、ホスト型の W&B sweep サーバー上で新しいプロセスが立ち上がります。この集中管理されたサービスが、学習ジョブを実行しているマシン(エージェント)を統括・調整します。
スイープの設定

3. エージェントを起動する

次に、ローカルでエージェントを起動します。作業を分散してスイープジョブをより早く完了させたい場合は、最大 20 個までのエージェントを異なるマシン上で並列に起動できます。エージェントは、次に試すパラメータセットを出力します。
エージェントの起動
これでスイープが実行中です。次の画像は、サンプルのスイープジョブが実行されているときのダッシュボードの様子を示しています。 サンプルのプロジェクトページを見る →
スイープのダッシュボード

既存のrunを使って新しいスイープをシードする

以前にログした既存のrunを使って、新しいスイープを開始します。
  1. プロジェクトのテーブルを開きます。
  2. テーブル左側のチェックボックスで、使用したいrunを選択します。
  3. ドロップダウンをクリックして、新しいスイープを作成します。
これでスイープがサーバー上にセットアップされます。あとは1つ以上のエージェントを起動して、runを実行します。
runからスイープをシードする
新しいスイープをベイズスイープとして開始すると、選択したrunはガウス過程のシードとしても使用されます。