import numpy as np
# SummaryWriter用来创建一个writer,可以记录我们想要可视化的数据。
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(comment='tensorboard_818')
for x in range(100):
# 曲线名称,y轴,x轴
writer.add_scalar('y=2x', x * 2, x)
writer.add_scalar('y=pow(2, x)', 2 ** x, x)
writer.add_scalars('data/scalar_group', {"xsinx": x * np.sin(x),
"xcosx": x * np.cos(x),
"arctanx": np.arctan(x)}, x)
writer.close()
运行上述代码,我们会在当前的文件夹(硬盘中)中创建一个runs文件夹, runs中有个文件夹,这个文件夹下面还有很多个子文件夹。
接下来我们到终端中调用Tensorboard读取eventfile。命令为 tensorboard --logdir=./runs
接下来点击网址进入tensorboard,界面如下:
SCALARS表示我们记录的数据的类型。
下面的图片表示我们还可以记录的数据类型有那些
刷新
设置多长时间来读取eventfile,在模型训练的时候我们可以实时的监控模型的变化。
这个表示我们可以将data数据下载下来,我们需要在第二张图选择我们要下载的曲线。下载的结果为图三的csv表格。
接下来时忽略离群点,比如第二张图片的数据点并没有绘制完成,当我们取消勾选,我们就会发现我们的曲线就是完整的曲线。
接下来是我们选择排序方法的功能,如果我们一张图有多条曲线,那么下面的黑框就会把这些曲线对应的值显示出来,这一功能会调整值排序的方式,默认default。
接下来是Smoothing,对曲线进行平滑。在第二张图的阴影部分才是我们的数据点,我们采用0.6来平滑我们的曲线,如果我们将系数调整为0,我们可以发现我们的曲线没有进行平滑。
接下来是Horizontal Axis,表示我们X轴的设置,这里有三种模型,我们通常选择STEP,表示我们的epoch。即下图2的x轴。
接下来是Runs,这些是可选择的eventfile。如下图我们在图2取消了第一个选项的方框,我们会发现我们的曲线并没有被画出来,当我们将该选项的方框勾选,我们可以发现我们得到了实验的曲线图。
方框后面的圆圈表示我们只画出圆圈勾选的曲线。
接下来是搜索功能,这个可以搜选tags.比如我们搜索y我们可以得到下面的图2,我们搜索data可以得到下面的图3.