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 查看网络结构,特征图运算过程
import torchfrom torch import nnfrom torch.utils.tensorboard import SummaryWriterclass NumNet(nn.Module):def __init__(self):super().__init__()self.classifier = nn.Sequential(nn.Linear(5, 10),nn.ReLU(),nn.Linear(10, 5),nn.ReLU(),nn.Linear(5, 2),nn.ReLU(),)def forward(self, batched_inputs):x = batched_inputslogits = self.classifier(x)return logitsmodel = NumNet()# 把信息保存到logdirwriter = SummaryWriter('logdir')# 测试传入16*5的feature_size时,模型的整个结构,这里测试会执行3次forward,为什么会执行3次我也不懂writer.add_graph(model, torch.rand([16, 5]))writer.close()
在命令行执行:tensorboard —logdir logdir,要明确指定logdir地址。然后打开http://localhost:6006,就能看到模型结构图了:
还可以看到数据从头到尾的尺寸变化情况。
滚动鼠标中键,可以放大缩小图片。
双击可以展开查看细节。比如可以看到第一个线性层的详细尺寸情况:
这里的86、89应该是编号,每一个组件都有一个唯一的id标识。
3 其他折线图等
还有很多功能,可以看官方文档,有详细的介绍、示例代码,演示。
torch.utils.tensorboard — PyTorch master documentation
比如常需要画损失的折线图:
