在Pytorch中使用Tensorboard

402 阅读2分钟

Tensorboard: TensorFlow 的可视化工具包

Tensorboard提供了机器学习所需的可视化功能和工具,嘎嘎好用,

  • 跟踪和可视化损失及准确率等指标
  • 可视化模型图(操作和层)
  • 查看权重、偏差或其他张量随时间变化的直方图
  • 将嵌入投射到较低的维度空间
  • 显示图片、文字和音频数据
  • 剖析 TensorFlow 程序

写这篇文章的目的,是为了记录如何在pytorch框架中使用TensorBoard

TensorBoard的安装

pip install tensorboard

对于tensorboard,一般直接安装最新版本就可以使用了

截屏2022-12-29 下午4.55.50.png

截屏2022-12-29 下午4.56.21.png 一般这样子就已经安装成功了,就可以开始体验tensorboard了。

TensorBoard的基本使用逻辑

  1. 用户将要可视化的数据,保存到一个特定的文件夹中
  2. TensorBoard读取这个文件夹中的数据,并在本地浏览器的localhost中进行展示

在Pytorch中使用TensorBoard

torch.utils.tensorboard

torch.utils.tensorboard可以用来把训练过程中的需要追踪的各种数据,比如scaler、digram、metric等,记录到一个特定的文件夹中,以便在TensorBoard UI中进行可视化。

from torch.utils.tensorboard import SummaryWriter

SummaryWriter提供了各种方法,可以将想要可视化展示的数据,写入到特定文件夹中。
首先实例化一个SummaryWriter,SummaryWriter的构造函数参数如下图所示

截屏2022-12-29 下午5.32.39.png

writer = SummaryWriter(log_dir="./path/log")

调用SummaryWriter的各种方法将数据保存到文件夹中

如下图所示,对于不同的数据,SummaryWriter提供了相对应的方法。

截屏2022-12-29 下午5.39.35.png

具体方法的使用看Pytorch文档

TensorBoard UI可视化

1. 首先我们在终端启动TensorBoard服务

tensorboard --logdir="./path/log" --port=7788
  • --logdir:用于指定保存数据的文件夹
  • --port:用于指定本地端口号

截屏2022-12-29 下午5.51.39.png 这样子tensorboard本地服务就已经启动成功,我们在浏览器打开[localhost:7788](localhost:7788

截屏2022-12-29 下午5.52.53.png

2. 向文件夹中写入数据 我们使用以下这段代码,向文件夹写入一些数据,代码来自pytorch文档

from torch.utils.tensorboard import SummaryWriter
import numpy as np

writer = SummaryWriter()

for n_iter in range(100):
    writer.add_scalar('Loss/train', np.random.random(), n_iter)
    writer.add_scalar('Loss/test', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/test', np.random.random(), n_iter)

执行这段代码之后,我们就成功向文件夹写入了数据

截屏2022-12-29 下午6.02.35.png 这时候我们回到localhost:7788查看,就会发现数据已经被展示在网页中了

截屏2022-12-29 下午6.05.09.png