1 安装

安装:pip install tensorboard。
下载包里,有个tensorboard.exe,会自动加进环境变量,主要用到这个应用程序。

tensorboard的原理,是用SummaryWriter,将模型、折线图等数据存储到一个”logdir”目录里,
然后用tensorboard.exe开启一个网页服务读取展示logdir的内容。

pytorch内置了转成tensorboard数据的SummaryWriter了,不需要使用tensorboard相关的源码接口。

实际运行如果缺失什么包可以再安装。优先用conda install,conda不行再用pip install。比如:
conda install protobuf
conda install h5py


也可以一次性安装完整版的tensorflow:conda install tensorflow。不过这个包会比较庞大。
(完整安装好像用conda有点问题,也可以试试pip,这里我不确定,没有充分实验)

安装完我也不确定一定是完整的,有试验的同学可以跟我反馈,补充完善文档。

2 查看网络结构,特征图运算过程

  1. import torch
  2. from torch import nn
  3. from torch.utils.tensorboard import SummaryWriter
  4. class NumNet(nn.Module):
  5. def __init__(self):
  6. super().__init__()
  7. self.classifier = nn.Sequential(
  8. nn.Linear(5, 10),
  9. nn.ReLU(),
  10. nn.Linear(10, 5),
  11. nn.ReLU(),
  12. nn.Linear(5, 2),
  13. nn.ReLU(),
  14. )
  15. def forward(self, batched_inputs):
  16. x = batched_inputs
  17. logits = self.classifier(x)
  18. return logits
  19. model = NumNet()
  20. # 把信息保存到logdir
  21. writer = SummaryWriter('logdir')
  22. # 测试传入16*5的feature_size时,模型的整个结构,这里测试会执行3次forward,为什么会执行3次我也不懂
  23. writer.add_graph(model, torch.rand([16, 5]))
  24. writer.close()

在命令行执行:tensorboard —logdir logdir,要明确指定logdir地址。然后打开http://localhost:6006,就能看到模型结构图了:
image.png
还可以看到数据从头到尾的尺寸变化情况。

滚动鼠标中键,可以放大缩小图片。
双击可以展开查看细节。比如可以看到第一个线性层的详细尺寸情况:
image.png
这里的86、89应该是编号,每一个组件都有一个唯一的id标识。

3 其他折线图等

还有很多功能,可以看官方文档,有详细的介绍、示例代码,演示。
torch.utils.tensorboard — PyTorch master documentation

比如常需要画损失的折线图:
image.png