メインコンテンツへスキップ
実験を実行すると、コンソールにさまざまなメッセージが表示されることがあります。W&B はコンソールログをキャプチャし、W&B App に表示します。これらのメッセージを実験のデバッグや動作の監視に役立ててください。

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

W&B App で特定の run のコンソールログにアクセスするには、次の手順を実行します。
  1. W&B App で対象のプロジェクトに移動します。
  2. Runs テーブル内から run を選択します。
  3. プロジェクトのサイドバーで Logs タブをクリックします。
W&B は 1 つの 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_label のような x_ プレフィックス付きのパラメータはパブリックプレビュー機能です。フィードバックを提供するには、W&B リポジトリで GitHub issue を作成してください。
コンソールログページ上部の検索バーで、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 を 1 つ選択します。
  3. プロジェクトのサイドバーで Logs タブをクリックします。
  4. コンソールログページ右上にあるコピー ボタンをクリックします。