You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TensorBoard中可视化各训练Epoch的MxN张量输出

TensorBoard可视化不同Epoch下的MxN张量输出

TensorBoard支持这种需求,你可以通过自定义Keras回调结合tf.summary写入序列数据,实现按Epoch查看N条时间序列曲线的效果,具体操作如下:

1. 编写自定义回调处理张量日志

创建回调类,在每个Epoch结束时获取模型输出的MxN张量,将其拆分为N个长度为M的序列,分别写入TensorBoard日志:

import tensorflow as tf
from tensorflow.keras import callbacks

class TensorSequenceLogger(callbacks.Callback):
    def __init__(self, log_dir, test_input):
        super().__init__()
        self.writer = tf.summary.create_file_writer(log_dir)
        self.test_input = test_input  # 用于获取模型输出的测试数据
    
    def on_epoch_end(self, epoch, logs=None):
        # 获取当前Epoch的MxN张量输出
        tensor_out = self.model.predict(self.test_input, verbose=0)  # shape (M, N)
        # 转置为(N, M),方便遍历每个序列
        seq_list = tf.transpose(tensor_out)
        
        with self.writer.as_default():
            for seq_id, seq_data in enumerate(seq_list):
                tag = f"tensor_sequences/seq_{seq_id}"
                # 为每个序列的每个时间步写入标量,用epoch*M + step作为全局step,避免不同Epoch重叠
                for step, val in enumerate(seq_data):
                    global_step = epoch * tensor_out.shape[0] + step
                    tf.summary.scalar(tag, val, step=global_step)

2. 训练时挂载回调

在模型训练时同时添加原生TensorBoard回调和自定义回调:

log_dir = "./tensorboard_logs"
test_input = ...  # 替换为你的测试输入数据

# 原生TensorBoard回调
tb_callback = callbacks.TensorBoard(log_dir=log_dir)
# 自定义张量序列日志回调
seq_callback = TensorSequenceLogger(log_dir=log_dir, test_input=test_input)

model.fit(
    train_dataset,
    epochs=30,
    callbacks=[tb_callback, seq_callback]
)

3. 在TensorBoard中查看

启动TensorBoard后进入SCALARS标签页,找到tensor_sequences分组下的N条曲线。你可以通过以下方式查看指定Epoch的序列:

  • 使用图例的筛选功能,勾选需要查看的序列
  • 调整X轴范围,定位到目标Epoch对应的区间(每个Epoch占M个step长度)

如果希望更便捷地切换Epoch,也可以将每个Epoch的张量用tf.summary.tensor写入日志,在TensorBoard的TENSORS标签页查看完整张量数据,再导出后用Matplotlib等工具绘制曲线,但这种方式无法直接在TensorBoard内交互查看曲线。

注意:global_step = epoch * tensor_out.shape[0] + step中的tensor_out.shape[0]就是M,确保每个Epoch的step区间不重叠即可。

内容的提问来源于stack exchange,提问作者quant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:53:10