WandbCallback クラスを使用することで、 fastai を W&B とインテグレーションできます。詳細については、こちらの 例付きインタラクティブドキュメント をご覧ください。
サインアップと API キーの作成
API キーは、お使いのマシンを W&B に対して認証するために使用されます。 API キーはユーザープロファイルから生成できます。For a more streamlined approach, create an API key by going directly to User Settings. Copy the newly created API key immediately and save it in a secure location such as a password manager.
- 右上隅にあるユーザープロファイルアイコンをクリックします。
- User Settings を選択し、 API Keys セクションまでスクロールします。
wandb ライブラリのインストールとログイン
ローカルに wandb ライブラリをインストールしてログインするには:
- Command Line
- Python
- Python notebook
-
WANDB_API_KEY環境変数 を API キーに設定します。 -
wandbライブラリをインストールしてログインします。
learner または fit メソッドに WandbCallback を追加する
Fastai のバージョン1を使用している場合は、 Fastai v1 ドキュメント を参照してください。
WandbCallback の引数
WandbCallback は以下の引数を受け取ります:
| 引数 | 説明 |
|---|---|
| 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 実験を追跡できます。
以下の最小構成の例を確認してください:
- Script
- Python notebook
メインプロセスのみでログを記録する
上記の例では、wandb はプロセスごとに 1 つの run を開始します。トレーニングが終了すると、 2 つの run が作成されます。これが混乱を招く場合があり、メインプロセスのみでログを記録したいことがあります。その場合は、どのプロセスにいるかを手動で検出し、他のすべてのプロセスで run の作成( wandb.init の呼び出し)を避ける必要があります。
- Script
- Python notebook
例
- Visualize, track, and compare Fastai models: 詳細にドキュメント化されたウォークスルー。
- Image Segmentation on CamVid: インテグレーションのサンプルユースケース。