pytorch使用tensorboardX进行网络可视化
我们知道,对于pytorch上的搭建动态图的代码的可读性非常高,实际上对于一些比较简单的网络,比如alexnet,vgg阅读起来就能够脑补它们的网络结构,但是对于比较复杂的网络,如unet,直接从代码脑补网络结构可能就比较吃力
tensorflow上的tensorboard进行计算图的可视化可谓是非常成熟了,那么有没有可以可视化pytorch动态图的工具呢?
实际上是有的,前两天介绍了tensorboardX,pytorch上的一个功能强大的可视化工具,他可以直接可视化网络结构
关于如何使用tensorboard,这里还是用一个resnet18来举例子
先贴上代码
#-*-coding:utf-8-*-
import torch
import torchvision
from torch.autograd import Variable
from tensorboardX import SummaryWriter # 模拟输入数据
input_data = Variable(torch.rand(16, 3, 224, 224)) # 从torchvision中导入已有模型
net = torchvision.models.resnet18() # 声明writer对象,保存的文件夹,异己名称
writer = SummaryWriter(log_dir='./log', comment='resnet18')
with writer:
writer.add_graph(net, (input_data,))
torchvision工具包是pytorch自带的强大的工具包,里面有各种各样的模型以及各种数据集对象和对于数据进行transform的函数,我们从torchvision中导入已有的resnet18
之后声明一个writer对象
writer = SummaryWriter(log_dir='./log', comment='resnet18')
两个变量,分别表示事件存放的文件夹,以及comment表示事件的title
最后在writer内add graph,至于为什么要with writer,试了一下直接如下写,不work
writer.add_graph(net, (input_data,)) # 这种直接的方式并不work
我想的是,可能是因为需要inference中间的节点的data shape才要写成with的吧
仍然是运行tensorboard,在浏览器中打开

支持鼠标滚轮放大缩小,拖动,双击可以查看更细节的网络结构,而且数据流箭头上有数据的shape,使用起来非常方便

pytorch使用tensorboardX进行网络可视化的更多相关文章
- pytorch使用tensorboardX进行loss可视化
最近pytorch出了visdom,也没有怎么去研究它,主要是觉得tensorboardX已经够用,而且用起来也十分的简单 pip install tensorboardX 然后在代码里导入 from ...
- [论文解读]CNN网络可视化——Visualizing and Understanding Convolutional Networks
概述 虽然CNN深度卷积网络在图像识别等领域取得的效果显著,但是目前为止人们对于CNN为什么能取得如此好的效果却无法解释,也无法提出有效的网络提升策略.利用本文的反卷积可视化方法,作者发现了AlexN ...
- 关系网络数据可视化:3. 案例:公司职员关系图表 & 导演演员关系网络可视化
1. 公司职员关系图表 节点和边界数据 节点是指每个节点本身的数据,代表公司职工的名称:属性(Country).分类(Category)和地区(Region,给每个节点定义的属性数据).文件必须是.c ...
- pytorch写一个LeNet网络
我们先介绍下pytorch中的cnn网络 学过深度卷积网络的应该都非常熟悉这张demo图(LeNet): 先不管怎么训练,我们必须先构建出一个CNN网络,很快我们写了一段关于这个LeNet的代码,并进 ...
- cs231n---卷积网络可视化,deepdream和风格迁移
本课介绍了近年来人们对理解卷积网络这个“黑盒子”所做的一些可视化工作,以及deepdream和风格迁移. 1 卷积网络可视化 1.1 可视化第一层的滤波器 我们把卷积网络的第一层滤波器权重进行可视化( ...
- PyTorch全连接ReLU网络
PyTorch全连接ReLU网络 1.PyTorch的核心是两个主要特征: 一个n维张量,类似于numpy,但可以在GPU上运行 搭建和训练神经网络时的自动微分/求导机制 本文将使用全连接的ReLU网 ...
- Pytorch使用tensorboardX网络结构可视化。超详细!!!
https://www.jianshu.com/p/46eb3004beca 1 引言 我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具,为了使用tensorbo ...
- Pytorch使用tensorboardX可视化。超详细!!!
tensorboard --logdir runs 改为 tensorboard --logdir=D:\model\tensorboard\runs 重点 在网上看了很多方法后发现将原本链接中的计算 ...
- pytorch中tensorboardX的用法
在代码中改好存储Log的路径 命令行中输入 tensorboard --logdir /home/huihua/NewDisk1/PycharmProjects/pytorch-deeplab-xce ...
随机推荐
- python 多进程练习 调用 os.system命令
import sys import getopt import os import multiprocessing def list_all_file(path): """ ...
- JQuery的选择器的简单介绍
1.jquery工厂函数 介绍Jquery选择器前,先来说一下JQuery的工厂函数"$",在JQuery中,无论使用哪种类型选择符都要从一个“$”符号和一对“()”开始. 在“( ...
- 【转】java提高篇(二)-----理解java的三大特性之继承
[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...
- 读入excle
可以输出到csv(逗号间隔,具体搜索csv格式). csv可以在excel中直接导入. 也可以用system函数调用ssconvert从csv转xlsx:system("ssconvert ...
- Thêm Một Lần Đau--错错错--IPA--越南语
越南国际天团HKT的名曲.
- 深入理解java虚拟机---对象的结构(九)
注意: 我们可以看到的就是InstanceData的数据. 先转载一篇文章作为开头,因为讲的非常详细,我就简单加工下放到这里: 对象结构 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区 ...
- 6.5C++查找字符串
参考:http://www.weixueyuan.net/view/6394.html 总结: find函数可以在字符串中查找子字符串中出现的位置.该函数有两个参数,第一个参数是待查找的子字符串,第二 ...
- SQL-16 统计出当前各个title类型对应的员工当前薪水对应的平均工资。结果给出title以及平均工资avg。
题目描述 统计出当前各个title类型对应的员工当前薪水对应的平均工资.结果给出title以及平均工资avg.CREATE TABLE `salaries` (`emp_no` int(11) NOT ...
- matlab中diff的用法
若是diff(),括号里的元素为向量,那么前一个减后一个即为diff后的结果: 若diff(),括号里的元素为矩阵,那么下一行减上一行即为diff 后的结果:
- MVC无刷新上传图片并显示
@{ ViewBag.Title = "Home Page"; } <script src="../../Scripts/swfobject.js" ty ...