在深度学习训练的过程中,如果能够可视化一些过程的变化,比如loss的变化过程等,将会对模型的性能表现有更加清晰的认识。
目前, 最常用的深度学习训练过程可视化工具是tensorboard,这个是tensorflow配套的可视化工具,但是Pytorch目前也支持该工具。
下面讲下如何使用该工具来进行训练过程的可视化。
安装
一般来讲如果配置好了Pytorch的深度学习环境,直接用pip安装即可:
pip install tensorboard
使用
总得来说tensorboard的使用过程包括三个步骤:
- 创建log文件夹
- 将数据写入log文件中
- 使用tensorboard可视化
示例代码:
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(comment='test plot')
for x in range(1000):
writer.add_scalar('y=3x^2+5',3*x**2+5,x)
首先实例化一个SummaryWriter的类,comment
参数是默认生成的log文件的后缀,刚开始学可以不管,直接全部用默认的即可:
writer = SummaryWriter()
上面的命令会在当前文件夹下生成一个runs
文件夹,用于存在后面的log文件。
然后就很简单了,通过writer.add_scalar
函数把需要可视化的数据写入log文件即可。
- 第一个参数文件是绘图的名称;
- 第二个参数是y轴的值;
- 第三个参数是x轴的值。
然后在命令行中输入如下命令:
tensorboard --logdir=runs
根据提示信息打开浏览器即可看到如下界面:
右边就是我们绘制的图像了。在实际应用过程中便可以展示相应的信息,比如随着epoch数的增加,loss的下降过程。
补充
- tensorboard不仅可以可视化标量,还可以对图像等数据进行可视化,可以自己查看官网文档,对应的就是把
add_scalar
函数替换为相应的函数并设置好参数即可; - 可视化之后还可以把数据下载为csv等文件,把绘图结果保存为svg格式;
参考
【1】https://pytorch.org/docs/stable/tensorboard.html
本文由mdnice多平台发布