DAY 45

TensorBoard 是一个用于深度学习训练过程的可视化工具,相当于给训练装上了"监控屏幕"。它能把训练过程中的损失、准确率、权重分布、模型结构、图像等数据自动转化为网页上的动态图表,方便实时监控和调试。


一、核心原理

  1. 写日志 :训练时通过 SummaryWriter 将监控数据写入事件文件(.tfevents)。
  2. 看图表:启动本地网页服务,读取日志文件并渲染成交互式界面,支持实时刷新。

二、基本操作

  • 创建写入器 :

    python 复制代码
    from torch.utils.tensorboard import SummaryWriter
    writer = SummaryWriter("runs/experiment")
  • 记录标量 (损失、准确率等):

    python 复制代码
    writer.add_scalar("Train/Loss", loss, global_step)
  • 记录模型结构 :

    python 复制代码
    writer.add_graph(model, sample_input)
  • 记录图像 (输入图、错误样本等):

    python 复制代码
    writer.add_image("images", img_grid)
  • 记录直方图 (权重/梯度分布):

    python 复制代码
    writer.add_histogram("weights/layer1", param, global_step)
  • 启动可视化 :

    bash 复制代码
    tensorboard --logdir=runs
    # 浏览器访问 http://localhost:6006

三、实战要点(CIFAR‑10 MLP & CNN)

  • 在训练循环中,每个 batch 记录 batch 级损失和准确率,每个 epoch 记录 epoch 级指标。
  • 每 200 个 batch 可选记录一次权重/梯度直方图,监控梯度消失/爆炸。
  • 测试阶段收集错误预测样本,用 add_image 可视化。
  • 配合学习率调度器,记录学习率变化曲线。
  • 自动管理日志目录(添加版本后缀),方便多次实验对比。

四、使用建议

  • TensorBoard 的代码是固定的"八股文",理解它能记录什么数据、如何解读图表即可。
  • 可以借助 AI 生成重复的监控代码,只需手动写好 SummaryWriter 和关键指标名称。
  • 利用 SCALARS(曲线)、IMAGES(样本)、GRAPHS(模型结构)、HISTOGRAMS(分布)四大面板,快速诊断模型训练问题。
相关推荐
小咕聊编程19 分钟前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化
小小张说故事2 小时前
Python 的 dict 为什么查询是 O(1)?拆开哈希表、扰动函数与扩容阈值
python
像风一样的男人@2 小时前
python --基于scp的文件传输助手
开发语言·python
用户0332126663672 小时前
使用 Python 在 Word 文档中添加、修改和删除变量
python
专注仿真3 小时前
动态规划算法详解
人工智能·python·大模型训练·控制算法
全栈陈序员3 小时前
【Python】基础语法入门(二十五)—— 网络编程入门:用 socket 与 requests 联网
python
adminwolf3 小时前
GoLiveChat:Open-Source Live Chat Software for Website
python
工具派4 小时前
PDF签名贴上去为什么发虚?尺寸、DPI与坐标的边界实测
java·python·pdf
谙忆4 小时前
PNG改成ICO为什么不能用:用Python检查多尺寸目录与256px帧
开发语言·python
长空任鸟飞_阿康4 小时前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·ai·架构·skills