众所周知,好多模型训练的时候不能够看到其训练参数的变化,比如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数据保存的路径
6、writer.add_graph()
这个函数用于在tensorboard中创建Graphs,Graphs中存放了网络结构,其中常用参数有:
model:pytorch模型
input_to_model:pytorch模型的输入
调用方式如下:
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#等号后边为存放文档路径
然后会弹出一个网址,复制网址进浏览器。
OVER
以上就是关于tensorboard可视化的所有使用方法和介绍