pytorch使用(三)网络结构可视化
来源:互联网 发布:百度读书软件 编辑:程序博客网 时间:2024/05/16 15:44
pytorch使用:目录
pytorch使用(三)网络结构可视化
在实际使用时,可视化网络会对调试很有帮助,借助GitHub上一位大神的代码,可以实现pytorch上网络结构的可视化:
- visualize.py
from graphviz import Digraphimport torchfrom torch.autograd import Variabledef make_dot(var, params=None): """ Produces Graphviz representation of PyTorch autograd graph Blue nodes are the Variables that require grad, orange are Tensors saved for backward in torch.autograd.Function Args: var: output Variable params: dict of (name, Variable) to add names to node that require grad (TODO: make optional) """ if params is not None: assert isinstance(params.values()[0], Variable) param_map = {id(v): k for k, v in params.items()} node_attr = dict(style='filled', shape='box', align='left', fontsize='12', ranksep='0.1', height='0.2') dot = Digraph(node_attr=node_attr, graph_attr=dict(size="12,12")) seen = set() def size_to_str(size): return '('+(', ').join(['%d' % v for v in size])+')' def add_nodes(var): if var not in seen: if torch.is_tensor(var): dot.node(str(id(var)), size_to_str(var.size()), fillcolor='orange') elif hasattr(var, 'variable'): u = var.variable name = param_map[id(u)] if params is not None else '' node_name = '%s\n %s' % (name, size_to_str(u.size())) dot.node(str(id(var)), node_name, fillcolor='lightblue') else: dot.node(str(id(var)), str(type(var).__name__)) seen.add(var) if hasattr(var, 'next_functions'): for u in var.next_functions: if u[0] is not None: dot.edge(str(id(u[0])), str(id(var))) add_nodes(u[0]) if hasattr(var, 'saved_tensors'): for t in var.saved_tensors: dot.edge(str(id(t)), str(id(var))) add_nodes(t) add_nodes(var.grad_fn) return dot
- 这种方法需要安装
python-graphviz
:conda install -n pytorch python-graphviz
- 使用方法如下:
import torchfrom torch.autograd import Variablefrom MyNet import MyNetfrom visualize import make_dotx = Variable(torch.randn(1,22,224,224))#change 12 to the channel number of network inputmodel = MyNet()y = model(x)g = make_dot(y)g.view()
可视化后的结果:
阅读全文
0 0
- pytorch使用(三)网络结构可视化
- pytorch使用(二)自定义网络
- pytorch使用(四)训练网络
- Tensorflow可视化---使用Tensorboard查看网络结构
- pytorch可视化
- 使用Netscope(神经网络结构在线可视化工具 )绘制网络结构视图
- Caffe 的可视化 (二)网络结构可视化
- Caffe 网络结构可视化
- Caffe-网络结构可视化
- caffe网络结构可视化
- Caffe 网络结构可视化
- 网络结构可视化步骤
- caffe网络结构可视化
- pytorch网络层结构的数组化
- Pytorch入门学习(三)---- NN包的使用
- ubuntu下使用python接口对网络结构进行可视化
- Pytorch学习笔记(三)
- 深度学习 网络结构 可视化
- 记jsp隐式对象
- 设计一个User类,并定义类的三个构造方法,类中有三个变量有用户名、口令、记录用户个数
- 【requireJS源码学习02】data-main加载的实现
- 哈希算法
- 解决git-忽略文件,添加gitignore,处理已经track的文件
- pytorch使用(三)网络结构可视化
- 动态规划之0/1背包问题
- 设计模式之单例模式,懒汉模式与饿汉模式
- opencv——轮廓检测
- Spring DAO(1):基础 & 数据源配置
- STM32固件库
- Windows7 系统上配置caffe GPU/CPU 的深度学习框架
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
- tensorflow.slice_input_producer