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(分布)四大面板,快速诊断模型训练问题。
相关推荐
郝学胜_神的一滴1 小时前
Python 高级编程 027:四大推导式全攻略
python·pycharm
菜冻鱼1 小时前
Python-sklearn-特征工程
开发语言·人工智能·python·机器学习·numpy·matplotlib·sklearn
mit6.8242 小时前
archived
后端·python·flask
船长@2 小时前
FastAPI 快速上手:从零基础到实操入门
python·ai·fastapi
我要两颗404西柚2 小时前
2【python】:常用关键字,函数,方法
python
COOLMO研究AI2 小时前
Python 如何给 AI API 实现断路器模式:防止雪崩与保护本地服务
人工智能·python·php
zzzzzz3102 小时前
LLM 成本治理:从 token 账单到线上熔断,团队应该先做哪三件事?
人工智能·python·api
AC赳赳老秦3 小时前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw
北斗落凡尘3 小时前
LangGraph 入门实战(3)
python·langchain