Pytorch Tensorboard可视化工具

众所周知,好多模型训练的时候不能够看到其训练参数的变化,比如loss曲线,准确率等等,而tensorboard可以有效的解决这个问题,让你的训练过程可视化。以下就是关于tensorboard的使用方法。

1. 安装所需要的库

由于tensorboard原本是在tensorflow里面用的,所以需要装一个tensorflow。tensorflow会自带一个tensorboard。


pip install tensorboard

2.导入tensorboard模块

加在头文件下边


from torch.utils.tensorboard import SummaryWriter

3.创建一个tensorboard问文件

log_dir : tensorboard文件的存放路径
flush_secs:表示每次写入tensorboard文件的时间间隔,30表示半分钟写入一次数据。


writer = SummaryWriter(log_dir='logs',flush_secs=30)

4.tensorboard调用方式 writer.add_scalar()函数

tag:标签,如下图所示的total_loss
scalar_value:标签的值
global_step:标签的x轴坐标


writer.add_scalar('total_loss', total_loss, (epoch * epoch_size))
#第一个total_loss是图标的标题,第二个total_loss是调用的它的参数

5.tensorboard的显示

在完成tensorboard文件的生成后,可在命令行调用该文件,会显示出一个网址,直接复制到网址里边。


tensorboard --logdir=./runs#这里的等号后边是写的你tensorboard数据保存的路径

Pytorch Tensorboard可视化工具_第1张图片

6、writer.add_graph()

这个函数用于在tensorboard中创建Graphs,Graphs中存放了网络结构,其中常用参数有:

model:pytorch模型
input_to_model:pytorch模型的输入
Pytorch Tensorboard可视化工具_第2张图片调用方式如下:

if Cuda:
    graph_inputs = torch.from_numpy(np.random.rand(1,3,input_shape[0],input_shape[1])).type(torch.FloatTensor).cuda()
else:
    graph_inputs = torch.from_numpy(np.random.rand(1,3,input_shape[0],input_shape[1])).type(torch.FloatTensor)
writer.add_graph(model, (graph_inputs,))

注意事项

pycharm有时会出现卡顿导致tensorboard数据无法实时更新,可在Anaconda3的终端直接执行
进入到pytorch环境

conda activate pytorch

执行tensorboard

tensorboard --logdir=G:\GG\faster-rcnn-pytorch-master\logs#等号后边为存放文档路径

Pytorch Tensorboard可视化工具_第3张图片然后会弹出一个网址,复制网址进浏览器。
Pytorch Tensorboard可视化工具_第4张图片OVER

以上就是关于tensorboard可视化的所有使用方法和介绍

你可能感兴趣的:(笔记,pytorch,深度学习,可视化)