Tensorboard的学习笔记

一, 什么是TensorBoard?

TensorBoard是TensorFlow自带的一个可视化工具包,可以帮助我们直观地理解、调试和优化机器学习模型。

二,基本使用步骤

1. 创建日志文件

首先:

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('logs')
for i in range(100):
    writer.add_scalar("y=x", i, i)
writer.close()

用于创建一个 TensorBoard 日志记录器,用于将数据写入日志文件。

3. 启动TensorBoard

在命令行中运行:

tensorboard --logdir logs

在这里插入图片描述

然后点击命令行中显示的http://localhost:6006/ 进入可视化界面后就是下图所示的样子:
Tensorboard的学习笔记_第1张图片

TensorBoard主要功能

1. Scalars(标量指标)

  • 显示训练过程中的损失和准确率等指标变化
  • 可以比较不同训练运行的曲线

2. Graphs(计算图)

  • 可视化模型的计算图
  • 可以查看模型的结构
  • 对于理解模型流程很有帮助

3. Distributions & Histograms(分布和直方图)

  • 显示权重和偏差的分布随时间的变化

4. Projector(投影)

  • 高维数据的可视化
  • 可以用来查看词嵌入等

拓展的实用技巧——目前正在学习中

  1. 给运行起个好名字:可以在log_dir中加入时间戳,方便区分不同训练:

    import datetime
    log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
    
  2. 调整刷新频率:如果数据太多,可以设置update_freq参数:

    tensorboard_callback = TensorBoard(log_dir=log_dir, update_freq='batch')
    
  3. 同时比较多个模型:把不同模型的日志放在logs目录下的不同子目录中,TensorBoard会自动比较它们。

常见问题

Q: TensorBoard打不开怎么办?
A: 检查端口6006是否被占用,可以用--port参数指定其他端口:

tensorboard --logdir logs/fit --port 6007

Q: 看不到数据怎么办?
A: 确保log_dir路径正确,并且训练时确实调用了回调函数。

你可能感兴趣的:(学习,笔记)