pytorch 模型可视化的例子


Posted in Python onAugust 17, 2019

如下所示:

一. visualize.py

from graphviz import Digraph
import torch
from torch.autograd import Variable
 
 
def 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

二. 使用步骤

import torch
from torch.autograd import Variable
from models import *
from visualize import make_dot
x = Variable(torch.rand(1, 3, 256, 256))
model = GeneratorUNet()
y = model(x)
g = make_dot(y)
g.view()

三. 效果展示

pytorch 模型可视化的例子

以上这篇pytorch 模型可视化的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
windows下安装python paramiko模块的代码
Feb 10 Python
Python编写检测数据库SA用户的方法
Jul 11 Python
Python中使用tarfile压缩、解压tar归档文件示例
Apr 05 Python
Python使用Supervisor来管理进程的方法
May 28 Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
python 定时器每天就执行一次的实现代码
Aug 14 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
Jan 08 Python
python的列表List求均值和中位数实例
Mar 03 Python
python 连续不等式语法糖实例
Apr 15 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
pytorch 输出中间层特征的实例
Aug 17 #Python
基于pytorch的保存和加载模型参数的方法
Aug 17 #Python
pytorch 固定部分参数训练的方法
Aug 17 #Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 #Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
Aug 17 #Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 #Python
Pytorch 实现自定义参数层的例子
Aug 17 #Python
You might like
php的一个登录的类 [推荐]
2007/03/16 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
angularjs学习笔记之简单介绍
2015/09/26 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
微信小程序签到功能
2018/10/31 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
Python中文编码那些事
2014/06/25 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
python使用turtle绘制分形树
2018/06/22 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python找出因数与质因数的方法
2019/07/25 Python
python实现字典嵌套列表取值
2019/12/16 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
大学生社会实践评语
2014/04/25 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis