1 Tensorboard

1.1 安装和卸载

使用以下命令安装

pip install tensorboard

卸载命令

pip uninstall tensorboard

1.2 Tensorboard的工作逻辑

Tensorboard的工作逻辑其实很简单,首先将你所关心的数据保存到你所指定的文件夹中,这一步在你构造SummaryWriter对象的时候指定,然后再读取这个文件夹的数据使用浏览器显示出来。

2 在Pytorch中使用Tensorboard

首先需要在使用tensorboard的地方导入tensorboard

from torch.utils.tensorboard import SummaryWriter   

然后实例化SummaryWrite对象

summary_writer = SummaryWriter('./path/to/log')

这里传递的路径就是需要保存数据集的文件夹,在SummaryWrite对象实例化完成之后就可以使用这个对象写入数据。

2.1 写入数据

SummaryWrite对象包含很多方法,其中写入数值就是我们经常使用的方法,其对应的函数原型为

writer.add_scalar(tag, scalar_value, global_step=None, walltime=None)

上述的tag为指定可视化时这个变量的名字,scalar_value是你要存的值,global_step可以理解为x轴坐标。

一个简单的示例

from torch.utils.tensorboard import SummaryWriter 

for epoch in range(100)
    train_loss = model(input)
    writer.add_scalar('loss', loss, epoch)

另外有一个细节的问题就是,我们可以用以下的方式

writer.add_scalar('Loss/train', train_loss, epoch)
writer.add_scalar('Loss/test', test_loss, epoch)

来实现变量的归类,通过这种方式就可将traintest这两个loss显示在Loss的同一个section,如下图所示

Pytorch – Pytoch结合Tensorboard实现数据可视化-StubbornHuang Blog

2.2 在网页中查看可视化结果

如果按照上述方式通过SummaryWrite对象写入了数据,然后就可以通过网页对写入的数据进行可视化了,我们可以在命令行中使用以下命令

tensorboard --logdir=./path/to/the/folder --port 6666

这里的logdir就是数据保存的文件夹路径,port为本地浏览器端口,然后我们就可以在浏览器中打开localhost:6666这个网址来查看数据可视化网页,这里需要保证的是所指定的端口并没有被其他程序占用。