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(分布)四大面板,快速诊断模型训练问题。
相关推荐
泡海椒35 分钟前
JQuick-Excel VALIDATION 实战:用作用范围约束 Excel 导入校验
开发语言·python·excel
小静AI工程实验室2 小时前
Python 爬虫解析 JSON-LD:多块 script、@graph 与坏数据的 9 个边界
爬虫·python·json
jason.zeng@15022072 小时前
(八)现有架构上新增一个通用Excel导出工具
python·架构·langchain·excel·llama
袁袁袁袁满2 小时前
AI Agent 如何“看懂“互联网?
爬虫·python·自动化·爬虫实战·多线程爬虫
泡海椒2 小时前
JQuick-Excel 实战:用 VALIDATION 建立可维护的 Excel 导入校验
开发语言·python·excel
Duang007_3 小时前
生产可观测性:从“系统慢“到“根因“的完整链路(Go / TypeScript)
后端·python·golang·typescript·prometheus
jason.zeng@15022073 小时前
(九)多轮对话式新增维修记录实现方案
python·prompt·交互·llama
黑妹天下第一乖3 小时前
小智改造实战解读-首 token 延迟去哪了:云端与端侧大模型的分段对照
开发语言·人工智能·python·嵌入式硬件·自然语言处理·iot
坊钰3 小时前
【LangChain框架入门级】10. 文本向量与向量数据库(Embedding / Redis / Pinecone / MMR)
数据库·python·langchain·embedding
benchmark_cc3 小时前
本地已有一年历史 K 线,第二天更新别只拉“昨天一天”
python·数据分析·pandas·量化交易·股票数据·quantdash