[pytorch] 使用tensorboardX可视化训练过程
在训练神经网络时,我们希望能更直观地了解训练情况,包括损失曲线、输入图片、输出图片、卷积核的参数分布等信息。这些信息能帮助我们更好地监督网络的训练过程,并为参数优化提供方向和依据。最简单的办法就是打印输出,但其只能打印数值信息,不够直观,同时无法查看分布、图片、声音等。接下来,将介绍两个深度学习中常用的可视化工具之一:Tensorboard。
安装tensorboardX
安装非常简单,主要分为以下三步:
- 安装tensorflow
pip3 install tensorflow
- 安装tensorboard
pip3 install tensorboard
- 安装tensorboardX
pip3 install tensorboardX
我在安装的过程中,尝试了跳过了第二步(原因是很多网上的教程没有第二步),结果会报错,所以最好按照这三步进行安装。
使用tensorboardX
安装好以后在使用时,需要导入这个包:
from tensorboardX import SummaryWriter
创建writer实例
# Creates writer1 object.
# The log will be saved in 'runs/exp'
writer1 = SummaryWriter('runs/exp')
# Creates writer2 object with auto generated file name
# The log directory will be something like 'runs/Aug20-17-20-33'
writer2 = SummaryWriter()
# Creates writer3 object with auto generated file name, the comment will be appended to the filename.
# The log directory will be something like 'runs/Aug20-17-20-33-resnet'
writer3 = SummaryWriter(comment='resnet')
以上展示了三种不同的初始化方法,会使得生成的日志保存在不同的文件下面。
接下来,我们就可以调用 SummaryWriter 实例的各种 add_something 方法向日志中写入不同类型的数据了。想要在浏览器中查看可视化这些数据,只要在命令行中开启 tensorboard 即可:
tensorboard --logdir=<your_log_dir>
其中的 <your_log_dir> 既可以是单个 run 的路径,如上面 writer1 生成的 runs/exp;也可以是多个 run 的父目录,如 runs/ 下面可能会有很多的子文件夹,每个文件夹都代表了一次实验,我们令 --logdir=runs/ 就可以在 tensorboard 可视化界面中方便地横向比较 runs/ 下不同次实验所得数据的差异。
使用add方法添加记录
添加数字
使用add_scalar添加数字型记录:
add_scalar(tag, scalar_value, global_step=None, walltime

本文详细介绍如何使用TensorBoardX可视化PyTorch训练过程,包括安装步骤、使用方法及各类数据可视化技巧。
最低0.47元/天 解锁文章
527

被折叠的 条评论
为什么被折叠?



