0
点赞
收藏
分享

微信扫一扫

TensorBoard快速入门(Pytorch使用TensorBoard)


文章目录

  • ​​TensorBoard 简介​​
  • ​​TensorBoard 界面介绍​​
  • ​​TensorBoard 安装​​
  • ​​TensorBoard 运行​​
  • ​​Pytorch 使用 TensorBoard​​
  • ​​Google Colab中使用 Tensorboard​​
  • ​​Tensor折线图(Scalars)​​

TensorBoard 简介

​​TensorBoard​​ 是Google开发的一个机器学习可视化工具。其主要用于记录机器学习过程,例如:

  • 记录损失变化、准确率变化
  • 记录图片变化、语音变化、文本变化等,例如在做GAN时,可以过一段时间记录一张生成的图片
  • 绘制模型

具体支持的内容可以参考​​官方文档​​



TensorBoard 界面介绍

TensorBoard快速入门(Pytorch使用TensorBoard)_数据



TensorBoard 安装

直接使用pip安装即可:

pip install

安装后,在命令行输入:

tensorboard --help

若可以正常输出,则说明安装成功。



TensorBoard 运行

运行启动命令即可:

tensorboard --logdir my_log

​my_log​​是TensorBoard的log文件所在的目录。Tensorboard面板中展示的数据都来源于log文件,一般一次完整的运行生成一份log文件

例如,在Pytorch中,我们会调用new一个​​SummaryWriter​​​对象,此时就会创建一个log文件,之后我们就会调用其​​add_something​​​方法,往log里面写日志,之后在TensorBoard面板中就可以看到数据了。最后在训练完成后,调用​​close​​方法结束。

若看到了如下输出,说明启动成功:

TensorBoard 2.8.0 at http://localhost:6006/ (Press CTRL+C to quit)

此时只需要在浏览器中输入​​http://localhost:6006/​​即可进入TensorBoard界面。



Pytorch 使用 TensorBoard

Pytorch使用Tensorboard主要用到了三个API:

  • ​SummaryWriter​​:这个用来创建一个log文件,TensorBoard面板查看时,也是需要选择查看那个log文件。
  • ​add_something​​​: 向log文件里面增添数据。例如可以通过​​add_scalar​​​增添折线图数据,​​add_image​​可以增添图片。
  • ​close​​​:当训练结束后,我们可以通过​​close​​方法结束log写入。

接下来,我们来模拟记录训练过程中准确率的变化。

首先需要new一个​​SummaryWriter​​对象:

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter(log_dir='runs/mock_accuracy')

当运行完该行代码后,可以看到当前目录下生成了一个​​runs/mock_accuracy​​文件夹,并且里面有event日志

TensorBoard快速入门(Pytorch使用TensorBoard)_python_02

此时已经可以启动tensorboard来查看了:

tensorboard --logdir runs

此时进入tensorboard页面后,啥都看不到,因为我们还没有向log里面写入任何数据:

TensorBoard快速入门(Pytorch使用TensorBoard)_深度学习_03

接下来使用 ​​add_scalar​​ 绘制准确率折线图:

for i in range(100):
writer.add_scalar(tag="accuracy", # 可以暂时理解为图像的名字
scalar_value=i * random.uniform(0.8, 1), # 纵坐标的值
global_step=i # 当前是第几次迭代,可以理解为横坐标的值
)
time.sleep(2 * random.uniform(0.5, 1.5))

这里模拟 1~3 秒完成一次迭代并计算准确率,然后将准确率增添到 accuracy 这个图下面。

过一会后,我们刷新页面,就可以看到我们的准确率变化曲线了:

TensorBoard快速入门(Pytorch使用TensorBoard)_数据_04

由于数据还在写入,所以曲线还在不断变化。



Google Colab中使用 Tensorboard

在Google Colab中使用Tensorboard只需要两行命令:

%load_ext tensorboard # 加载tensorboard扩展插件
%tensorboard --logdir=runs # 运行tensorboard

在运行完tensorboard后,在该单元格下面就会出现tensorboard页面:

TensorBoard快速入门(Pytorch使用TensorBoard)_深度学习_05


之后就和之前一样使用​​writer​​写入数据即可,然后手动点击

TensorBoard快速入门(Pytorch使用TensorBoard)_python_06

按钮即可,或者使用

TensorBoard快速入门(Pytorch使用TensorBoard)_数据_07

按钮开启自动刷新。

TensorBoard快速入门(Pytorch使用TensorBoard)_深度学习_08

在Google Colab中不像本地那样刷新那么快,即使手动点刷新按钮也不行,我自己测试下来,大概1分钟才能真正更新一次数据。



Tensor折线图(Scalars)

TensorBoard快速入门(Pytorch使用TensorBoard)_深度学习_09



举报

相关推荐

0 条评论