pytorch使用tensorboard可视化(完整版)

安装相关的库:

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/

因为根目录变上一级了,这就是变化的原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值