深度学习:Linux服务器使用TensorBoard在本地显示
本文主要介绍的是在Linux服务器使用TensorBoard执行深度学习的训练,将训练过程的中参数记录并保存下来,并在本地进行显示,关于TensorBoard更多的教程可参考Pytorch官网TensorBoard文档
TensorBoard介绍
TensorBoard是一个用于可视化和调试深度学习模型的工具,由Google的TensorFlow团队开发。它提供了一种直观的方式来观察模型在训练过程中的性能和行为。
TensorBoard可以用于以下几个方面:
- 可视化模型图:TensorBoard能够显示模型的计算图,帮助你理解模型的结构以及数据在模型中的流动方式。
- 显示训练过程:TensorBoard可以记录和可视化模型在训练过程中的指标,如损失函数的变化、准确率的变化等。这些信息有助于你监控模型的性能并对训练进行调整。
- 可视化权重和梯度:TensorBoard可以显示模型中各层的权重和梯度的分布情况,帮助你了解模型的学习情况和收敛速度。
- 可视化嵌入向量:如果你的模型包含嵌入层,TensorBoard可以将嵌入向量可视化为三维空间中的点,帮助你理解在不同特征之间的关系。
- 可视化网络图像:如果你的模型是用于图像处理的,TensorBoard可以显示输入图像、模型生成的图像以及它们之间的差异,帮助你对模型进行调试和改进。
TensorBoard通过在训练过程中将日志信息写入到磁盘,然后提供一个Web界面来展示这些信息。你只需要在代码中导入TensorBoard库并将需要显示的信息写入日志,然后运行训练脚本,在浏览器中打开TensorBoard的网址即可看到相应的可视化结果。
具体步骤
1、模型训练时,使用tensorboard中的SummaryWriter模块进行记录与保存:
# 导入tensorboard
from torch.utils.tensorboard import SummaryWriter
# 将SummaryWriter实例化,这里传入的参数就是指向文件夹的路径
writer = SummaryWriter("../logs")
# 调用对象的成员函数,记录并保存相关的数或图。
# tag指定可视化时这个变量的名字,scalar_value是你要存的值,global_step可以理解为x轴坐标。
writer.add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')
writer.add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')
writer.add_scalar(tag, scalar_value, global_step=None, walltime=None)
writer.close()
2、连接ssh时,将服务器的6016端口重定向到自己机器上来:
ssh -L 16006:127.0.0.1:6016 username@remote_server_ip
3、在服务器终端输入:
tensorboard --logdir='../logs' --port=6016
4、在本地浏览器中输入地址:
127.0.0.1:16006