メインコンテンツへスキップ
実験を実行すると、さまざまなメッセージがコンソールに出力されることがあります。W&B はコンソールログを取得して W&B App に表示します。これらのメッセージを使って、実験の動作をデバッグおよび監視できます。

コンソールログを表示する

W&B App で run のコンソールログを確認するには、次の手順に従います。
  1. W&B App で自分のプロジェクトにアクセスします。
  2. Runs 表内の run を選択します。
  3. プロジェクトのサイドバーで Logs タブをクリックします。
W&B では、run ごとに最大 100,000 行のログが保存されます。W&B App では、一度に表示できるログは最大 10,000 行です。保存されているすべてのログ行を確認するには、ログをスクロールして古い行を表示します。

コンソールログの種類

W&B は、情報メッセージ、警告、エラーなど複数種類のコンソールログを収集し、各ログには重大度を示すプレフィックスが付きます。

情報メッセージ

情報メッセージは、run の進捗やステータスに関する更新情報を示します。通常、先頭に wandb: が付きます。
wandb: Starting Run: abc123
wandb: Run data is saved locally in ./wandb/run-20240125_120000-abc123

警告メッセージ

実行は停止しないものの、問題の可能性を示す警告メッセージには、先頭に WARNING: が付きます
WARNING Found .wandb file, not streaming tensorboard metrics.
WARNING These runs were logged with a previous version of wandb.

エラーメッセージ

重大な問題を示すエラーメッセージには、先頭に ERROR: が付きます。これは、run が正常に完了できなくなる可能性がある問題を示しています。
ERROR Unable to save notebook session history.
ERROR Failed to save notebook.

コンソールログの設定

コード内で wandb.Settings オブジェクトを wandb.init() に渡すことで、W&B におけるコンソールログの扱いを設定できます。wandb.Settings では、コンソールログの動作を制御するために、次のパラメーターを設定できます。
  • show_errors: True に設定すると、エラーメッセージが W&B App に表示されます。False に設定すると、エラーメッセージは表示されません。
  • silent: True に設定すると、W&B のコンソール出力がすべて抑制されます。これは、コンソールの不要な出力を最小限に抑えたい本番環境で役立ちます。
  • show_warnings: True に設定すると、警告メッセージが W&B App に表示されます。False に設定すると、警告メッセージは表示されません。
  • show_info: True に設定すると、情報メッセージが W&B App に表示されます。False に設定すると、情報メッセージは表示されません。
次の例では、これらの設定を行う方法を示します。
import wandb

settings = wandb.Settings(
    show_errors=True,  # W&B App にエラーメッセージを表示する
    silent=False,      # W&B のコンソール出力をすべて無効にする
    show_warnings=True # W&B App に警告メッセージを表示する
)

with wandb.init(settings=settings) as run:
    # トレーニングコードをここに記述する
    run.log({"accuracy": 0.95})

カスタムロギング

W&B はアプリケーションのコンソールログを収集しますが、独自のロギング設定に干渉することはありません。メッセージを記録するには、Python に組み込まれている print() 関数または logging モジュールを使用できます。
import wandb

with wandb.init(project="my-project") as run:
    for i in range(100, 1000, 100):
        # W&Bにログし、コンソールに出力する
        run.log({"epoch": i, "loss": 0.1 * i})
        print(f"epoch: {i} loss: {0.1 * i}")
コンソールログは、次のように表示されます。
1 epoch:  100 loss: 1.3191105127334595
2 epoch:  200 loss: 0.8664389848709106
3 epoch:  300 loss: 0.6157898902893066
4 epoch:  400 loss: 0.4961796700954437
5 epoch:  500 loss: 0.42592573165893555
6 epoch:  600 loss: 0.3771176040172577
7 epoch:  700 loss: 0.3393910825252533
8 epoch:  800 loss: 0.3082585036754608
9 epoch:  900 loss: 0.28154927492141724

タイムスタンプ

タイムスタンプは各コンソールログのエントリに自動的に追加されます。これにより、各ログメッセージがいつ生成されたかを確認できます。 コンソールログでは、タイムスタンプの表示をオンまたはオフに切り替えられます。コンソールページの左上にある Timestamp visible ドロップダウンを選択します。タイムスタンプを表示するか非表示にするかを選べます。

コンソールログを検索する

コンソールログページの上部にある検索バーを使用して、キーワードでログをフィルターできます。特定の用語、ラベル、エラーメッセージを検索できます。

カスタムラベルでフィルターする

x_ で始まるパラメーター (x_label など) はパブリックプレビューです。フィードバックを送るには、W&B repository の GitHub issue を作成してください。
コンソールログページ上部の UI の検索バーでは、wandb.Settingsx_label に引数として渡したラベルに基づいてコンソールログをフィルターできます。
import wandb

# プライマリノードでrunを初期化する
with wandb.init(
    entity="entity",
    project="project",
    settings=wandb.Settings(
        x_label="custom_label"  # (オプション) ログのフィルター用カスタムラベル
    )
) as run:
    # ここにコードを記述する

コンソールログをダウンロードする

W&B App で run のコンソールログをダウンロードするには、次の手順に従います。
  1. W&B App のプロジェクトにアクセスします。
  2. Runs 表で run を選択します。
  3. プロジェクトのサイドバーで Logs タブをクリックします。
  4. コンソールログページの画面右上にあるダウンロードボタンをクリックします。

コンソールログをコピーする

W&B App で run のコンソールログをコピーするには、以下の手順に従います。
  1. W&B App のプロジェクトにアクセスします。
  2. Runs 表内の run を選択します。
  3. プロジェクトのサイドバーにある Logs タブをクリックします。
  4. コンソールログページの画面右上にあるコピーボタンをクリックします。