Skip to main content
Weights & Biases Python SDK でメディアをログすると、モデルの入力と出力を確認したり、run、モデル、データセット間で結果を比較したりできます。サポートされるタイプは、画像、オーディオ、動画、ヒストグラム、3D ポイントクラウド、分子、HTML です。 API の詳細については、データタイプ リファレンス を参照してください。例については、モデル予測の report を参照するか、動画の手順ガイド をご覧ください。

前提条件

一部のメディア タイプでは、追加の依存関係が必要です。メディア用の依存関係を含めて Weights & Biases SDK をインストールするには、次のコマンドを実行します。

画像

wandb.Image を使用すると、NumPy 配列、PIL 画像、ローカルファイルから画像をログできます。画像をログすると、入力、出力、フィルターの重み、活性化を確認できます。
オートエンコーダーの入力と出力
トレーニングのパフォーマンスと画像の読み込み時間への影響を抑えるため、CoreWeave では 1 ステップあたりにログする画像を 50 枚未満にすることを推奨しています。
以下のタブでは、入力タイプごとに画像をログする方法を説明します。
torchvision の make_grid などを使って画像を手動で構築する場合は、配列を直接渡します。
Weights & Biases は Pillow を使用して配列を PNG 画像に変換します。
NumPy 配列の形状は (height, width, channels) にします。Weights & Biases は、チャンネル数が 1、3、4 の場合、それぞれグレースケール、RGB、RGBA と判断します。画像はデフォルトで PNG ファイルとして保存されます。値が 0~255 の範囲外にある場合、またはすべての値が 0~1 の範囲内にある場合、ピクセル値は 0~255 の範囲に正規化されます。正規化を無効にするには、normalize=False を渡します。配列の変換をより細かく制御したい場合は、PIL 画像 タブに示すように PIL 画像を作成してください。
トレーニングステップ間で画像を比較するには、Weights & Biases アプリの UI で画像パネルを展開し、step スライダーを使用します。画像を選択すると全画面ビューで開き、マウスまたはキーボードショートカットでズームやパンを行えます。 複数の run、ステップ、インデックスにわたる画像や動画を 1 つのビューで比較するには、Compare モードを使用します。

画像オーバーレイ

セマンティックセグメンテーションマスクをログすると、Weights & Biases アプリの UI で不透明度を調整したり、ステップ ごとの変化を確認したりできます。
セグメンテーションマスクまたはバウンディングボックス付きの画像をログすると、Weights & Biases のアプリの UI でモデルの予測と正解データを確認できます。
対話型のマスク表示
wandb.Image の masks 引数に辞書を渡します。各キーには predictions や ground_truth などのマスク名を指定します。各値は、次のフィールドを持つ辞書です。1 つの画像に複数のマスクをログするには、マスクごとに個別の辞書を指定します。
各キーのセグメンテーションマスクは、ステップごと (wandb.Run.log() の呼び出しごと) に定義されます。
  • 同じマスクキーに対してステップごとに異なる値が指定された場合、画像にはそのキーの最新の値のみが適用されます。
  • ステップごとに異なるマスクキーが指定された場合、可視性のコントロールにはすべてのキーが表示されますが、画像に適用されるのは選択したステップで定義されたマスクのみです。そのステップで定義されていないマスクの表示を切り替えても、画像は変わりません。
完全な設定例については、セグメンテーションマスクの report と サンプルノートブック を参照してください。
対話型の例については、バウンディングボックスの report を参照してください。

表内の画像オーバーレイ

Weights & Biases の Table で画像オーバーレイを表示するには、マスクまたはバウンディングボックスを含む wandb.Image オブジェクトを各行に追加します。
表内のインタラクティブなセグメンテーションマスク
この例では、表の各行にセグメンテーションマスク付きの画像を 1 つずつログします:

ヒストグラム

wandb.Histogram を使用すると、モデルの勾配などの数値の分布をログできます。Weights & Biases のアプリの UI では、x 軸にトレーニングステップ、y 軸にメトリクス値が表示され、色の濃淡で各ビンの件数を表します。
リスト、配列、テンソルなどの数値のシーケンスを wandb.Histogram に渡します。Weights & Biases は配列やテンソルを平坦化し、numpy.histogram() を使用してヒストグラムを計算します。デフォルトでは、ヒストグラムのビン数は 64 です。ビン数をカスタマイズするには、num_bins に最大 512 までの値を設定します。
GAN 識別器の勾配
必要に応じて 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() を使用すると、ポイント、バウンディングボックス、ベクトルを含むシーンを作成できます。
Weights & Biases のアプリの UI でポイントクラウド内を移動するには、Control キーを押しながらマウスを動かします。

ポイントクラウドファイル

JSON ファイルからポイントクラウドデータを読み込むには、wandb.Object3D.from_file() を使用します。
次の JSON は、ポイントクラウドデータの形式を示しています。

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 が必要です。
対話型の例については、AlphaFold ワークスペースを参照してください。
分子構造

分子の2Dビュー

wandb.Image データタイプと rdkit を使用して、分子の2Dビューをログできます。

その他のメディア

Weights & Biases では、ほかにもさまざまなメディアタイプのログをサポートしています。

オーディオ

オーディオデータをログするには wandb.Audio を使用します。sample_rate には、録音のサンプリングレートをヘルツ単位で設定します。
1ステップあたり最大100個のオーディオクリップをログすることができます。詳細については、audio-file を参照してください。

動画

wandb.Video を使用して動画ファイルをログします。
動画フレームの NumPy 配列をログするには、出力フォーマットとフレームレートを指定します:
単一の動画には (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() を使用して行を追加することもできます。
pandas の DataFrame から表を作成するには、その DataFrame を dataframe に渡します。
詳細な使用量情報については、string を参照してください。

HTML

wandb.Html を使用すると、Run page のパネルにカスタム HTML を表示できます。HTML ファイルまたは文字列を渡します。
デフォルトでは、Weights & Biases は HTML にスタイルを追加します。この動作を無効にするには、inject=False を渡します。この動作をオフにするには、inject=False を渡します。
使用方法の詳細については、html-file を参照してください。
最終更新日 2026年10月14日