Skip to main content
WandbCallback クラスを使用して、fastai を W&B に統合し、実験をトラッキングし、メトリクスをログして、トレーニング中のモデル性能を可視化できます。このページでは、認証を設定し、トレーニングループにコールバックを追加し、シングルプロセスおよび分散トレーニングの両方でログする方法を説明します。詳細については、例付きのインタラクティブなドキュメントをご覧ください。

サインアップしてAPIキーを発行する

APIキーは、マシンをW&Bに対して認証するためのものです。APIキーはプロフィールから発行できます。
より手早く行うには、User Settings にアクセスしてAPIキーを作成してください。APIキーはすぐにコピーし、パスワードマネージャーなどの安全な場所に保存してください。
  1. 右上にあるプロフィールアイコンをクリックします。
  2. User Settings を選択し、API Keys セクションまでスクロールします。

wandb ライブラリをインストールしてログインする

wandb ライブラリをローカルにインストールしてログインするには、次の手順を実行します。
  1. WANDB_API_KEY環境変数に APIキー を設定します。<> で囲まれた値は、ご自身の値に置き換えてください。
  2. wandb ライブラリをインストールしてログインします。

WandbCallbacklearner または fit method に追加する

fastai のトレーニング run のログを W&B で開始するには、WandbCallback を単一の fit call または learner 自体にアタッチします。
fastai バージョン 1 を使用している場合は、fastai v1 ドキュメントを参照してください。

WandbCallback の引数

トレーニング中に WandbCallback が何をログするかを制御するには、次の引数を使用します。 カスタムワークフローでは、データセットとモデルを手動でログできます。
  • log_dataset(path, name=None, metadata={})
  • log_model(path, name=None, metadata={})
注: “models” サブフォルダーは無視されます。

分散トレーニング

fastai は、コンテキストマネージャー distrib_ctx を使った分散トレーニングをサポートしています。W&B はこれに自動的に対応しており、追加設定なしでマルチGPUの 実験 をトラッキングできます。以下のセクションでは、W&B を分散トレーニングと統合する方法と、メインプロセスでのみログするように制限する方法について説明します。 以下の最小限の例を確認してください。
次に、ターミナルで以下を実行します。
この例では、マシンに GPU が 2 基あります。

メインプロセスでのみログする

前の例では、W&B は各プロセスごとに 1 つの run を起動します。トレーニングの最後には、2 つの run ができます。これは混乱のもとになることがあるため、メインプロセスでのみログしたい場合があります。そのためには、どのプロセスで実行しているかを手動で判別し、それ以外のすべてのプロセスでは run を作成しないようにする (wandb.init() を呼び出さない) 必要があります。
ターミナルで次を実行します。

fastaiインテグレーションのエンドツーエンドのデモについては、以下の資料を参照してください。