Pytorch中tensorboard的使用

Tensorboard使用

安装

pip install tensorboard

使用逻辑

  • 使用writer将代码运行过程中关心的数据保存
  • 运行tensorboard的使用读取保存的数据,并在浏览器中显示

代码使用

导入
from torch.utils.tensorboard import SummaryWriter
创建写对象
writer = SummaryWriter(PATH) # PATH 保存路径
方法
数值的保存
writer.add_scalar(tag, scalar_value, global_step=None, walltime=None)
  • tag:变量的标签
  • scalar_value:保存的值
  • global_step:横坐标的值
图像的保存
add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats=‘CHW’)

用于添加单张图片

  • img_tensor:图片数据,类型需要是torch.Tensor、numpy.array或者string
  • dataformats:‘CHW’指tensor,‘HWC’指numpy
add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')

用于添加多张图片

  • dataformats:输入图像数据的维度形式:NCHW, NHWC, CHW, HWC, HW, WH,默认为[N,3,H,W]
模型保存
add_graph(model, input_to_model=None, verbose=False)
  • model:网络模型
  • input_to_model:一个输入的样本实例
  • verbose:控制是否打印网络结构的开关语句

启动可视化

tensorboard --logdir=./path --port 8123

任何未被占用的端口都可以使用

tensorboard默认30秒刷新一次,并非实时显示(visdom是完全实时的)

如果使用的是vscode,vscode会提示你在编辑器内打开tensorboard,就不用输入命令行了,十分方便

image-20211026092247521

image-20211026092304796

细节

变量归类

命名变量的时候可以使用形如

writer.add_scalar('loss/loss1', loss1, epoch)
writer.add_scalar('loss/loss2', loss2, epoch)
writer.add_scalar('loss/loss3', loss3, epoch)

的格式,这样3个loss就会被显示在同一个section

同时显示多个折线图

加入使用了两种学习率去训练同一个网络,想要比较他们训练过程中的loss曲线,只需要将他们的日志文件夹放到同一个目录下,运行:

tensorboard --logdir=./path/to/the/root --port 8123

参考

  1. https://zhuanlan.zhihu.com/p/103630393
    sorboard --logdir=./path/to/the/root --port 8123
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值