WandbCallback クラスを使用して、fastai を W&B に統合できます。詳細については、例付きのインタラクティブなドキュメントをご覧ください。
サインアップしてAPIキーを発行する
より手早く行うには、User Settings に直接アクセスしてAPIキーを作成してください。新しく作成したAPIキーはすぐにコピーし、パスワードマネージャーなどの安全な場所に保存してください。
- 右上にあるプロフィールアイコンをクリックします。
- User Settings を選択し、API Keys セクションまでスクロールします。
wandb ライブラリをインストールしてログインする
wandb ライブラリをローカルにインストールしてログインするには、次の手順を実行します。
- コマンドライン
- Python
- Python notebook
-
WANDB_API_KEYの環境変数に APIキー を設定します。 -
wandbライブラリをインストールしてログインします。
WandbCallback を learner または fit method に追加する
Fastai バージョン 1 を使用している場合は、Fastai v1 ドキュメントを参照してください。
WandbCallback の引数
WandbCallback は次の引数を受け取ります。
| Args | Description |
|---|---|
| log | モデルの gradients、parameters、all、または None (デフォルト) のどれをログするかを指定します。損失とメトリクスは常にログされます。 |
| log_preds | 予測サンプルをログするかどうか (デフォルトは True) 。 |
| log_preds_every_epoch | 予測を各エポックごとにログするか、最後にまとめてログするか (デフォルトは False) |
| log_model | モデルをログするかどうか (デフォルトは False) 。これには SaveModelCallback も必要です |
| model_name | 保存する file の名。SaveModelCallback より優先されます |
| log_dataset |
注: サブフォルダー “models” は常に無視されます。 |
| dataset_name | ログされるデータセットの名 (デフォルトは folder name) 。 |
| valid_dl | 予測サンプルに使用する項目を含む DataLoaders (デフォルトは learn.dls.valid からランダムに選択された項目) 。 |
| n_preds | ログする予測の数 (デフォルトは 36) 。 |
| seed | ランダムサンプルを決めるために使用します。 |
log_dataset(path, name=None, metadata={})log_model(path, name=None, metadata={})
分散トレーニング
fastai は、コンテキストマネージャー distrib_ctx を使った分散トレーニングをサポートしています。W&B はこれに自動的に対応しており、追加設定なしでマルチGPUの 実験 をトラッキングできます。
以下の最小限の例を確認してください。
- スクリプト
- Python notebook
メインプロセスでのみログする
wandb は各プロセスごとに 1 つの run を起動します。トレーニングの最後には、2 つの run が作成されることになります。これは混乱のもとになることがあるため、メインプロセスでのみログしたい場合があります。そのためには、どのプロセスで実行しているかを手動で判別し、それ以外のすべてのプロセスでは run を作成しないようにする (wandb.init を呼び出さない) 必要があります。
- スクリプト
- Python notebook
例
- Fastaiモデルの可視化、トラッキング、比較: 詳細な解説付きのウォークスルーです。
- CamVidにおける画像セグメンテーション: このインテグレーションのサンプルユースケースです。