メディアの記録と聴き比べ
![]()
学習の途中で生成した音声や画像を、stepと一緒に記録できます。Runの[Media]タブでstepを動かして変化を確かめ、[比較]の[Media]タブで複数のRunと複数のstepを並べて聴き比べます。
こんなときに向いています
- 音声合成の学習で、100 stepごとの推論音声がどう変わったかを聴きたい
- 2つの学習率で、同じstepの生成音声を切り替えながら比べたい
- 評価サンプルの音声・書き起こし・スコアを1つの表で確かめたい
Python SDKで記録する
numpyの配列やPILの画像を渡すときは、mediaの追加パッケージを入れます(インストール)。ファイルのパスやbytesだけなら不要です。
import mado_tracking
from mado_tracking import Audio, Table
with mado_tracking.start_run(name="tts") as run:
for step in range(1, 1001):
run.log_metrics({"loss": loss}, step=step)
if step % 100:
continue
run.log_audio("inference/sample", waveform, sample_rate=16000, caption="prompt 1")
run.log_image("inference/spectrogram", mel)
run.log_table("evaluation/samples", Table(
columns=["audio", "transcript", "score"],
rows=[[Audio(wav, sample_rate=16000), text, score] for wav, text, score in samples],
))stepを省略すると、直前にlog_metricsで記録したstepに入ります。
| 関数 | 渡せるもの |
|---|---|
log_audio(key, data, sample_rate=) | ファイルのパス、bytes(WAV・FLAC・MP3・OGG・M4A)、numpyの配列。配列のときはsample_rateが必須です。floatは-1〜1の範囲を16bitのPCMに変換し、範囲外は切り詰めます |
log_image(key, image) | パス、bytes、numpyの配列(高さ×幅、または×3・×4。uint8か0〜1のfloat)、PILの画像 |
log_video(key, data) | パスかbytes。変換はしないので、ブラウザで再生できるmp4(H.264)かwebmにしてください |
log_table(key, table) | Table(columns, rows)、pandasのDataFrame、MLflowの{columns, data}形式。セルにAudio・Image・Videoを置けます |
- keyは1〜250文字です。
/で区切ると、Artifactの一覧でもフォルダとしてたどれます。ファイルはmedia/<key>/step-<step>/の下に保存します - 別のRunのファイルを表のセルに置くときは、
artifact_reference(run_id, path)を使います - オフライン記録(
mode="offline")でも使えます。mado-tracking syncがファイルを送ったあとに登録します
MLflowで記録したもの
MLflowのlog_image(image, key=..., step=...)で記録した画像と、log_tableで記録した表も[Media]タブに出ます。MLflowには音声と動画のstep付きの記録が無いので、音声を聴き比べるならPython SDKを使ってください。詳しくはMLflow 3から記録するを参照してください。
Runの[Media]タブで見る
左側に、記録したキーごとの種類(音声・画像・動画・表)、stepの範囲、件数が並びます。キーを選ぶと右側に表示します。
- スライダーで表示するstepを選びます。記録のあるstepにだけ止まります
- スライダーを選んだ状態で矢印キーを押すと前後のstep、Home・Endで最初と最後のstepへ移動します
- 表の音声のセルは[再生]でその場で再生し、[波形]で波形とスペクトログラムを開きます
- 記録が多い場合は、最初の10,000件だけを表示します
音声のビューアでは、波形の拡大、区間のループ、メルと線形のスペクトログラムの切り替えができます(音声ビューア)。
複数のRunで聴き比べる
![]()
- [Experiments]の一覧で比べたいRunを選び、[比較]を選びます
- [Media]タブを開きます
- [比較するキー]で音声などのキーを選びます
- 必要なら[比較するstep]で、並べるstepにチェックを付けます。記録のあるstepだけが並び、一部のRunにしか無いstepには「1/2 Run」のように記録したRunの数が付きます
開いた直後は、全Runに共通するstepのうち最新のものを1列で並べます。長さの違うRun(たとえば20 stepと60 step)を比べても、空のセルが並ばない状態から始まります。
| ボタン | 並べるstep |
|---|---|
| [全Runに共通する最新のstep] | 開いた直後の状態に戻します |
| [各Runの最新step] | Runごとの最後のstepを1列にまとめます。セルには、そのRunのstepを表示します |
| [均等にN列] | 記録のあるstepから最大8個を均等に選びます |
全Runに共通するstepが無いときは、[各Runの最新step]と同じ並びで開き、そのことをチェックボックスの下に表示します。どのstepにもチェックが無いときも、各Runの最新stepを並べます。
行がRun、列がstepの表ができます。記録の無いセルは「なし」と表示し、近いstepで埋めることはしません。stepごとのメディアが無いRunだけを選んだときは、その旨を表示します。推論Runが保存した音声などのArtifactは、[Artifacts]タブで同じパスどうしを並べて比べます。
- セルを選ぶと、表の下に大きく表示します。矢印キーでセルを移動できます
- 音声は同時に1つだけ鳴ります。再生中に別のセルへ移ると、同じ再生位置から続けて再生するので、同じ箇所を聴き比べられます
- 比べられるRunは最初の20件、stepは50個までです
- 1つのstepに同じキーが複数あるときは、最初の1件を表示します