Pytorch深度学习之TensorBoard的安装及使用

2,218 阅读3分钟

这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

一 简介

Tensorboard原本是TensorFlow的可视化工具,其他深度学习计算框架也可使用TensorBoard工具进行可视化操作了。在PyTorch原生的可视化工具不够友好的情况下,更推荐使用TensorboardX来实现PyTorch的建模可视化。能够快速绘制模型基本结构、观察模型评估指标伴随训练过程的动态变化情况及观察图像数据,可以在torch.utils模块调用Tensorboard,但Tensorboard并不和PyTorch同步维护,要使用Tensorboard,需要单独安装。TensorBoard采用的是是本地开启服务、本地记录结果、Web读取结果的模式,和本地生成结果、在REPL环境中即时读取的模式有很大区别。

二 按照步骤

已经安装了TensorFlow的,在安装TensorFlow的过程中会自动安装Tensorboard,后续可以直接使用。当然,只安装了PyTorch的同学可根据以下步骤单独TensorboardX组件:

2.1 在jupyterLab中选择新建一个Luncher

image.png

2.2 然后选择新建一个Terminal

image.png

2.3 使用pip进行安装

image.png

2.4 测试是否安装成功

导入相关的包,若不报错,则证明安装成功

from torch.utils.tensorboard import SummaryWriter

三 Tensorboard的使用

真实生产环境中,大规模深度学习模型都是部署在服务器上运行的,无法像在本地IDE上一边输入数据一边绘图观测结果,只能将需要记录的关键结果记录下来并保存在某个文件里,然后再在本地或者服务器上开启某项服务读取该文件保存的信息。因此,整个过程会比在本地绘图稍微复杂,但确是真实生产环境中的主流操作。

image.png

writer = SummaryWriter(log_dir='test')
writer.log_dir  #查看summary对象记录文件位置

在Terminal中输入

tensorboard --logdir="test"  

进行服务的调用,打开端口TensorBoard 2.6.0 at http://localhost:6006/ (Press CTRL+C to quit) 进入端口打开浏览器,在地址栏输入localhost:6006即可进入到tensorboard展示页面。此前我们已经通过write记录了一组数据,可以看到展示效果。

image.png

  • 如果默认6006端口冲突,也可自行修改服务端口号,只需在启动命令后后输入参数--port XXXX即可,
  • 可对图形进行简单操作,最基本的,我们可以按住alt键,滚动鼠标滚轮对其进行缩放,以及通过鼠标左键对其进行拖拽
  • Tensorboard只记录了一张折线图,但实际上add_scalar方法核心应用场景是用于记录模型运行过程中,随着迭代次数增加一些数值指标的变化情况,如loss值、准确率值等。无论如何,我们需要知道,Tensorboard的核心应用场景是深度学习建模过程的可视化展示。