メインコンテンツへスキップ
このページでは、折れ線プロットの設定について包括的な詳細を説明します。折れ線プロットの扱い方についてさらに詳しくは、Line plots overview を参照してください。

データの設定

X-axis

Selecting X-Axis
wandb.Run.log() でログした任意の整数または浮動小数点数を X 軸の範囲として設定できます。 X 軸として利用できる時間ベースのオプション:
  • Step: wandb.Run.log() が呼び出されるたびに 1 ずつ増加します。モデルからログされた学習ステップ数を表します(デフォルト)。
  • Relative Time (Wall): プロセス開始からの経過クロック時間です。run を開始して 1 日停止し、その後再開してログすると、その点は 24 時間の位置に表示されます。
  • Relative Time (Process): 実行中プロセス内での経過時間です。run を開始して 10 秒間実行し、1 日停止した後に再開すると、その点は 10 秒の位置に表示されます。
  • Wall Time: グラフ上の最初の run が開始してからの経過時間(分)です。
  • X range: デフォルトでは、X 軸の最小値から最大値までです。最小値と最大値はカスタマイズできます。

Y軸

Y軸の変数には、wandb.Run.log() でログした任意の整数または浮動小数点値を設定できます。単一の値、値の配列、または値のヒストグラムを指定します。ある変数について 1500 点を超えるデータポイントをログした場合、W&B は 1500 点に間引いてサンプリングします。
Runs テーブルで run の色を変更すると、Y 軸の線の色をカスタマイズできます。
利用可能な Y 軸のオプション:
  • Y range: デフォルトは、メトリクスの最小の正の値(0 を含む)からメトリクスの最大値までです。最小値と最大値はカスタマイズできます。

点の集約方法

データポイントを表示する際に使用するサンプリング方法を選択します。
  • Random sampling(デフォルト): Random sampling を参照してください。
  • Full fidelity: Full fidelity を参照してください。

スムージング

スムージング係数 を 0 から 1 の間で設定します。0 はスムージングなし、1 は最大スムージングとなります。 使用できるスムージング手法:
  • Time weighted EMA (デフォルト): 時系列データをスムージングする手法で、過去の点の重みを指数関数的に減衰させます。
  • Running average: 指定された x 値の前後のウィンドウ内の点の平均値で、その点を置き換えます。
  • Gaussian: 点の加重平均を計算し、その重みを、スムージングパラメータとして指定した標準偏差をもつガウス分布に対応させます。
  • No smoothing
詳しくは、折れ線グラフのスムージング を参照してください。

外れ値を無視

デフォルトのプロットの最小値と最大値のスケールから外れ値を除外するようにプロットを再スケーリングします。この設定の効果は、プロットのサンプリングモードによって異なります。
  • Random sampling mode: 外れ値を無視すると、プロットから下位 5% 未満および上位 95% 超のポイントが除外されます。
  • Full fidelity mode: 外れ値を無視すると、すべてのポイントは表示されますが、各バケットの最後の値に集約され、さらに下位 5% 未満および上位 95% 超の領域が網掛け表示されます。

run またはグループの最大数

デフォルトでは、プロットには run リストまたは run セット内の先頭 10 件の run または run グループのみが含まれます。どの run やグループを表示するかを制御するには、ソート順を変更します。
ワークスペースでは、その設定に関係なく、最大 1000 件の run までしか表示できません。

チャートの種類

プロットスタイルを選択してください:
  • Line plot
    Line plot style
  • Area plot
    Area plot style
  • Percentage area plot
    Percentage plot style
チャートの種類は Data タブで設定します。 を参照してください。

グループ化設定

グループ化を有効にしてすべての run をまとめて表示するか、個別の変数ごとにグループ化します。Runs テーブルでグループ化を有効にすると、そのグループが自動的にグラフに反映されます。
  • Group runs: プロット内で run のグループ化を有効にします。以下のプロット内のシェーディング範囲を設定するために必要です。
  • Group by: 任意で列を選択します。その列で同じ値を持つすべての run が 1 つのグループとしてまとめられます。
  • Aggregation: グラフ上の線の値を指定します。選択肢は、そのグループの mean、median、min、max です。
  • Range: 高忠実度な折れ線グラフのシェーディング領域を設定します。選択肢は Min/Max、Std Dev、Std Err、または None です。

チャート設定

タイトルと凡例の表示を設定します。
  • パネルタイトル: パネル上部に表示されるタイトル。
  • X軸タイトル: X軸のラベル。
  • Y軸タイトル: Y軸のラベル。
  • 凡例: 凡例を表示するか非表示にするか、およびその表示位置を設定します。

凡例の設定

凡例に表示する内容をカスタマイズして、作成日時や run を作成したユーザーなど、ログされた任意の config 値や run のメタデータを表示できます。

凡例テンプレート

凡例名のテンプレートを定義します。
  1. 歯車アイコンをクリックして、プロット設定を開きます。
  2. Display preferences タブを開きます。
  3. Advanced legend を展開し、凡例テンプレートを指定します。
  4. Apply をクリックします。
例: ${run:displayName} - ${config:dropout} は、royal-sweep - 0.5 のような凡例名を生成します。ここで royal-sweep は run 名、0.5dropout という名前の config パラメータです。

ポイントごとの値

グラフ上にカーソルを載せたときにクロスヘアにポイントごとの値を表示するには、[[ ]] の中に値を設定します。
  1. 歯車アイコンをクリックしてプロット設定を開きます。
  2. Display preferences タブに移動します。
  3. タブの下部で、1つ以上のプロットのメトリクスに対してポイントごとの値を設定します。
  4. Apply をクリックします。
例: [[ $x: $y ($original) ]] は「2: 3 (2.9)」のように表示されます。 [[ ]] 内で使用できる値:
Value意味
${x}X の値
${y}Y の値(スムージング後の値)
${original}スムージング前の Y の値
${mean}グループ化された run の平均
${stddev}グループ化された run の標準偏差
${min}グループ化された run の最小値
${max}グループ化された run の最大値
${percent}合計に対する割合(積み上げ面グラフの場合)

カスタム計算式を追加して、派生メトリクスを作成します。

Y-axis expressions

メトリクスから導かれる値をプロットできます。たとえば、1-accuracy やその他の算術式を計算できます。現在は、単一のメトリクスをプロットする場合にのみ利用できます。 サポートされている演算子: +, -, *, /, %, および **(累乗用)。 ログされたメトリクスと、ハイパーパラメータなどの設定値の両方を使ってカスタムラインを計算できます。

X 軸の式

カスタム式で計算した値を使って、x 軸を再スケールします。 使用できる変数:
  • _step: デフォルトの x 軸の値。
  • ${summary:value}: summary の値を参照。

複数メトリクスパネルでの式

正規表現を使用して、複数のメトリクスをまとめて表示する単一のラインプロットを作成します(将来ログされる一致するメトリクスも含まれます)。詳細な手順については、ラインプロットを追加するを参照してください。 例:
  • 各レイヤーのメトリクスごとに別々のパネルを作成する代わりに、1 つのパネルでまとめて表示できます。たとえば、layer_0_losslayer_1_losslayer_2_loss のように一貫した命名でメトリクスをログしている場合、layer_\d+_loss のような正規表現を使うことで、すべてのレイヤーの loss を 1 つのプロットに表示できます。
  • 共通の命名パターンを持つすべてのメトリクスにマッチさせます。例:
    • train_.*train_losstrain_accuracytrain_f1_score のようなすべての学習メトリクスにマッチします
    • .*_accuracytrain_accuracyval_accuracytest_accuracy のような、異なるデータセットにまたがる accuracy メトリクスにマッチします
  • オルタネーション(alternation)を使って、必要なメトリクスだけにマッチさせます。たとえば、非キャプチャグループ (?:layer_0|layer_10)_loss は、中間のレイヤーを除外し、1 層目と 10 層目のレイヤーの loss のみをマッチさせます。

キャプチャグループ

正規表現のキャプチャグループは、マルチメトリクスパネルの作成方法を制御します。この挙動は、知らないと分かりにくい場合があります。
  • キャプチャグループは複数のパネルを作成する 正規表現にキャプチャグループを形成する括弧が含まれている場合、UI はそのグループでキャプチャされた一意の値ごとに、個別のパネルを作成します。 たとえば、(layer_0|layer_10)_loss という正規表現にはキャプチャグループが含まれており、次の 2 つのパネルが作成されます:
    1. layer_0 に一致するメトリクス用のパネル。
    2. layer_10 に一致するメトリクス用のパネル。
  • ノンキャプチャグループはメトリクスをまとめて保持する 別々のパネルを作成せずに複数の選択肢にマッチさせるには、?: 構文を使ったノンキャプチャグループを使用します。(?:layer_0|layer_10)_loss という正規表現は前述の例と同じメトリクスにマッチしますが、それらを 1 つのパネルにまとめて表示します。
違いは次のとおりです:
  • (layer_0|layer_10)_loss - 各レイヤーごとに 1 つずつ、2 つのパネルを作成します。
  • (?:layer_0|layer_10)_loss - 両方のレイヤーを 1 つのパネルにまとめて表示します。
これにより、分析ニーズに最も適した方法を柔軟に選択できます。メトリクスを別々のパネルに分けたい場合はキャプチャグループを使用します。単一のプロット上でメトリクスを比較したい場合はノンキャプチャグループを使用します。