安装相关的库:
pip install tensorboardX
pip install tensorboard # 这一个是你安装pytorch时就安装好的,可以检查一下,没有就重新安装
并将tensorboard.exe所在的文件夹路径加入环境变量path中(1.如果你没有用couda,比如tensorboard.exe的路径为D:\Python376\Scripts\tensorboard.exe
,那么就在path中加入D:\Python376\Scripts
),如果你用了conda 的虚拟环境安装的,它的路径应该为:X:XXX\XXX\Anaconda3\envs\openmmlab\Scripts\tensorboard.exe,你只需将“
:XXX\XXX\Anaconda3\envs\openmmlab\Scripts”这个路径加入到系统环境变量的path中
注意使用清华源安装 速度快
pip install tensorboardX -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完 tensorboardX后
下面是tensorboardX
的使用过程。基本使用为,先通过tensorboardX
下的SummaryWriter
类获取一个日志编写器对象。然后通过这个对象的一组方法往日志中添加事件,即生成相应的图片,最后启动前端服务器,在localhost中就可以看到最终的结果了。
这里使用tensorboard,搭建一个简单的模型来做demo
import torch
import torch.nn as nn
import torch.nn.functional as F
from tensorboardX import SummaryWriter # 用于进行可视化
from torchviz import make_dot
class modelViz(nn.Module):
def __init__(self):
super(modelViz, self).__init__()
self.conv1 = nn.Conv2d(3, 16, 3, 1, padding=1)
self.bn1 = nn.BatchNorm2d(16)
self.conv2 = nn.Conv2d(16, 64, 3, 1, padding=1)
self.bn2 = nn.BatchNorm2d(64)
self.conv3 = nn.Conv2d(64, 10, 3, 1, padding=1)
self.bn3 = nn.BatchNorm2d(10)
def forward(self, x):
x = self.bn1(self.conv1(x))
x = F.relu(x)
x = self.bn2(self.conv2(x))
x = F.relu(x)
x = self.bn3(self.conv3(x))
x = F.relu(x)
return x
if __name__ == "__main__":
# 首先来搭建一个模型
modelviz = modelViz()
# 创建输入
sampledata = torch.rand(1, 3, 4, 4)
# 看看输出结果对不对
out = modelviz(sampledata)
print(out) # 测试有输出,网络没有问题
# 1. 来用tensorflow进行可视化
with SummaryWriter("./log", comment="sample_model_visualization") as sw:
sw.add_graph(modelviz, sampledata)
# 2. 保存成pt文件后进行可视化
torch.save(modelviz, "./log/modelviz.pt")
# 3. 使用graphviz进行可视化
out = modelviz(sampledata)
g = make_dot(out)
g.render('modelviz', view=False) # 这种方式会生成一个pdf文件
运行代码后会在"./log"路径下生成一个tfevents文件,进入该路径执行命令:"tensorboard --logdir=./ " 然后按照提示打开浏览器就可以看到我们搭建的网络结构了,如下图所示,可以双击打开每一个节点查看其内容。
这里有一个细节需要注意 “./”代表当前目录下,所以你重新打开一个虚拟环境cmd到log路径下后,才能输入。(为什么?这时log成为根目录,tfevents正好在根目录)
tensorboard --logdir=./
enter键 ,后命令行窗口输出
X:\XXXXX\XXX\DDDDDD\log>tensorboard --logdir=./
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.10.1 at http://localhost:6002/ (Press CTRL+C to quit)
把这个网址输入 浏览器 http://localhost:6002/
结束!!!
如果你在虚拟环境cd到log的上一级文件夹,那么按照上面的路径就得不到你想要的可视化结果,路径不正确,应该输入
tensorboard --logdir=./log/
因为根目录变上一级了,这就是变化的原因