Tensorboard: TensorFlow 的可视化工具包
Tensorboard提供了机器学习所需的可视化功能和工具,嘎嘎好用,
- 跟踪和可视化损失及准确率等指标
- 可视化模型图(操作和层)
- 查看权重、偏差或其他张量随时间变化的直方图
- 将嵌入投射到较低的维度空间
- 显示图片、文字和音频数据
- 剖析 TensorFlow 程序
写这篇文章的目的,是为了记录如何在pytorch框架中使用TensorBoard
TensorBoard的安装
pip install tensorboard
对于tensorboard,一般直接安装最新版本就可以使用了
一般这样子就已经安装成功了,就可以开始体验tensorboard了。
TensorBoard的基本使用逻辑
- 用户将要可视化的数据,保存到一个特定的文件夹中
- TensorBoard读取这个文件夹中的数据,并在本地浏览器的localhost中进行展示
在Pytorch中使用TensorBoard
torch.utils.tensorboard
torch.utils.tensorboard可以用来把训练过程中的需要追踪的各种数据,比如scaler、digram、metric等,记录到一个特定的文件夹中,以便在TensorBoard UI中进行可视化。
from torch.utils.tensorboard import SummaryWriter
SummaryWriter提供了各种方法,可以将想要可视化展示的数据,写入到特定文件夹中。
首先实例化一个SummaryWriter,SummaryWriter的构造函数参数如下图所示
writer = SummaryWriter(log_dir="./path/log")
调用SummaryWriter的各种方法将数据保存到文件夹中
如下图所示,对于不同的数据,SummaryWriter提供了相对应的方法。
TensorBoard UI可视化
1. 首先我们在终端启动TensorBoard服务
tensorboard --logdir="./path/log" --port=7788
- --logdir:用于指定保存数据的文件夹
- --port:用于指定本地端口号
这样子tensorboard本地服务就已经启动成功,我们在浏览器打开[localhost:7788](localhost:7788
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)
执行这段代码之后,我们就成功向文件夹写入了数据
这时候我们回到localhost:7788查看,就会发现数据已经被展示在网页中了