TensorBoard使用
使用Tensorboard需要做两件事:
- 将代码运行过程中的,某些你关心的数据保存在一个文件夹中,由代码中的writer完成。
- 再读取这个文件夹中的数据,用浏览器显示出来,通过在命令行运行tensorboard完成。
首先导入tensorboard
from torch.utils.tensorboard import SummaryWriter
SummaryWriter是将数据以特定的格式存储到刚刚提到的那个文件夹中。
先指定文件夹路径:
writer = SummaryWriter('./path/to/log')
然后写入数据:
for epoch in range(100)
# xxx
loss, acc = model(x)
writer.add_scalar('loss_epoch', loss, epoch)
# xxx
接下来我们只需要在命令行运行:
tensorboard --logdir=./path/to/log --port 2020
然后浏览器输入 http://localhost:2020
即可查看。
- 除了数值,还可以可视化模型训练过程中的图像。
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')
- 将多张图显示在同一个session
writer.add_scalar('loss/loss1', loss1, epoch)
writer.add_scalar('loss/loss2', loss2, epoch)
writer.add_scalar('loss/loss3', loss3, epoch)
- 把多条曲线放到一个图上
writer.add_scalars('acc', {'h': h, 'w': w}, j) # 注意是add_scalars,不是add_scalar
-
localhost 拒绝访问:把localhost改成0.0.0.0
tensorboard --logdir=yourpath --host 0.0.0.0 --port 2020
-
from torch.utils.tensorboard import SummaryWriter导入不成功问题
先安装tensorboard:
pip install tensorboard
若还是报错在torch.utils.tensorboard中找不到SummaryWriter,安装tensorboardX:
pip install -i https://mirrors.aliyun.com/pypi/simple/ tensorboardX
然后将
from torch.utils.tensorboard import SummaryWriter
改为:
from tensorboardX import SummaryWriter