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(分布)四大面板,快速诊断模型训练问题。
相关推荐
仙女修炼史10 小时前
gradcam在yolo中的应用
人工智能·python·yolo
李可以量化10 小时前
Redis Client 从了解到精通(六):redis-py 服务控制与状态监控辅助函数详解
python
李可以量化11 小时前
Redis Client 从了解到精通(六)下:redis-py 时间、库管理与持久化辅助函数详解
python
晓窗科技11 小时前
AI基座哪家好
大数据·人工智能·python
麻雀飞吧11 小时前
学量化:看到“近期工具推荐”时,先问工具要解决什么问题
人工智能·python
jayson.h11 小时前
python——pdf编辑
前端·python·pdf
聪明蛋子哟11 小时前
多智能体协作的三种模式:从群聊到分层,如何设计可扩展的Agent系统
后端·python·flask
zlwool12 小时前
图纸管理选型:从变更频率到齐套率
java·前端·python·erp·设备erp·非标机械
一晌小贪欢12 小时前
python-第15天:Python 列表推导式
开发语言·python·excel·数据可视化·python办公
逗脑IDE12 小时前
零基础学ESP32:光敏传感器——让ESP32拥有“感光”能力!
python·物联网·esp32·智能家居