前提条件
一部のメディア タイプでは、追加の依存関係が必要です。メディア用の依存関係を含めて Weights & Biases SDK をインストールするには、次のコマンドを実行します。画像
wandb.Image を使用すると、NumPy 配列、PIL 画像、ローカルファイルから画像をログできます。画像をログすると、入力、出力、フィルターの重み、活性化を確認できます。

トレーニングのパフォーマンスと画像の読み込み時間への影響を抑えるため、CoreWeave では 1 ステップあたりにログする画像を 50 枚未満にすることを推奨しています。
- 配列
- PIL 画像
- 画像ファイル
torchvision の make_grid などを使って画像を手動で構築する場合は、配列を直接渡します。Weights & Biases は Pillow を使用して配列を PNG 画像に変換します。
(height, width, channels) にします。Weights & Biases は、チャンネル数が 1、3、4 の場合、それぞれグレースケール、RGB、RGBA と判断します。画像はデフォルトで PNG ファイルとして保存されます。値が 0~255 の範囲外にある場合、またはすべての値が 0~1 の範囲内にある場合、ピクセル値は 0~255 の範囲に正規化されます。正規化を無効にするには、normalize=False を渡します。配列の変換をより細かく制御したい場合は、PIL 画像 タブに示すように PIL 画像を作成してください。画像オーバーレイ
セマンティックセグメンテーションマスクをログすると、Weights & Biases アプリの UI で不透明度を調整したり、ステップ ごとの変化を確認したりできます。- セグメンテーションマスク
- バウンディングボックス
セグメンテーションマスクまたはバウンディングボックス付きの画像をログすると、Weights & Biases のアプリの UI でモデルの予測と正解データを確認できます。
各キーのセグメンテーションマスクは、ステップごと (

wandb.Image の masks 引数に辞書を渡します。各キーには predictions や ground_truth などのマスク名を指定します。各値は、次のフィールドを持つ辞書です。1 つの画像に複数のマスクをログするには、マスクごとに個別の辞書を指定します。
wandb.Run.log() の呼び出しごと) に定義されます。- 同じマスクキーに対してステップごとに異なる値が指定された場合、画像にはそのキーの最新の値のみが適用されます。
- ステップごとに異なるマスクキーが指定された場合、可視性のコントロールにはすべてのキーが表示されますが、画像に適用されるのは選択したステップで定義されたマスクのみです。そのステップで定義されていないマスクの表示を切り替えても、画像は変わりません。
表内の画像オーバーレイ
Weights & Biases の Table で画像オーバーレイを表示するには、マスクまたはバウンディングボックスを含むwandb.Image オブジェクトを各行に追加します。
- Segmentation Masks
- Bounding Boxes

ヒストグラム
wandb.Histogram を使用すると、モデルの勾配などの数値の分布をログできます。Weights & Biases のアプリの UI では、x 軸にトレーニングステップ、y 軸にメトリクス値が表示され、色の濃淡で各ビンの件数を表します。
- 基本的なヒストグラムのログ
- 柔軟なヒストグラムのログ
リスト、配列、テンソルなどの数値のシーケンスを 
wandb.Histogram に渡します。Weights & Biases は配列やテンソルを平坦化し、numpy.histogram() を使用してヒストグラムを計算します。デフォルトでは、ヒストグラムのビン数は 64 です。ビン数をカスタマイズするには、num_bins に最大 512 までの値を設定します。
density=True を設定すると、ビンの値を件数ではなく確率密度で表せます。
3D 可視化
wandb.Object3D を使用して、バウンディングボックス付きの 3D ポイントクラウドと lidar シーンをログします。ポイントの座標に加え、必要に応じて色またはカテゴリラベルを含めた NumPy 配列を指定します。
ポイントクラウドは Weights & Biases アプリの UI で対話的に操作できます。ドラッグしてビューを回転したり、ズームして細部を確認したり、Control キーを押しながらマウスを操作してシーン内を移動したりできます。
次の report では、Lyft データセットのシーンを 3D バウンディングボックス付きで表示しています。
Weights & Biases アプリの UI では、ポイントクラウドごとに最大 300,000 ポイントまで表示されます。
NumPy の配列形式
次のいずれかの配列形式を使用します。n はポイント数です。
Python オブジェクト
wandb.Object3D.from_point_cloud() を使用すると、ポイント、バウンディングボックス、ベクトルを含むシーンを作成できます。
ポイントクラウドファイル
JSON ファイルからポイントクラウドデータを読み込むには、wandb.Object3D.from_file() を使用します。
NumPy 配列
サポートされる配列形式のいずれかを使って、wandb.Object3D.from_numpy() を使用します。
分子
wandb.Molecule を使用して分子データをログし、Weights & Biases のアプリの UI で 3D 構造を確認できます。
pdb、pqr、mmcif、mcif、cif、sdf、sd、gro、mol2、mmtf です。
SMILES 文字列、RDKit の mol ファイル、rdkit.Chem.rdchem.Mol オブジェクトをログすることもできます。これらの例を実行するには RDKit が必要です。

分子の2Dビュー
wandb.Image データタイプと rdkit を使用して、分子の2Dビューをログできます。
その他のメディア
Weights & Biases では、ほかにもさまざまなメディアタイプのログをサポートしています。オーディオ
オーディオデータをログするにはwandb.Audio を使用します。sample_rate には、録音のサンプリングレートをヘルツ単位で設定します。
audio-file を参照してください。
動画
wandb.Video を使用して動画ファイルをログします。
(frames, channels, height, width)、バッチには (batch, frames, channels, height, width) の形状を使用します。NumPy 配列のエンコードには FFmpeg と MoviePy が必要です。
サポートされる形式は "gif"、"mp4"、"webm"、"ogg" です。配列またはインメモリストリームを渡す場合は、format を指定してください。生のフレームをエンコードする場合、デフォルトのフレームレートは 4 fps (1 秒あたり 4 フレーム) です。
ファイルパスを指定すると、Weights & Biases はファイルが存在すること、およびサポートされる形式であることを確認します。BytesIO オブジェクトを指定すると、Weights & Biases は指定された形式を拡張子とする一時ファイルを作成します。
動画を表示・再生するには、プロジェクトの Workspace、run の Workspace、または report でメディアパネルを開きます。Compare モード を使用すると、run 間や ステップ 間で動画を比較できます。
テキスト
wandb.Table を使用すると、予測、ラベル、その他の値と並べてテキストを表示できます。表を作成する際に列名を指定してください。
デフォルトでは、列ヘッダーは ["Input", "Output", "Expected"] です。UI のパフォーマンスを最適化するため、デフォルトの最大行数は 10,000 に設定されています。ただし、wandb.Table.MAX_ROWS = {DESIRED_MAX} を使用して、最大行数を明示的に上書きすることができます。
wandb.Table.add_data() を使用して行を追加することもできます。
dataframe に渡します。
string を参照してください。
HTML
wandb.Html を使用すると、Run page のパネルにカスタム HTML を表示できます。HTML ファイルまたは文字列を渡します。
inject=False を渡します。この動作をオフにするには、inject=False を渡します。
html-file を参照してください。
