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 相关文章推荐
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
Python字符串处理实例详解
May 18 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
python selenium登录豆瓣网过程解析
Aug 10 Python
python range实例用法分享
Feb 06 Python
如何使用python传入不确定个数参数
Feb 18 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
如何使用 Flask 做一个评论系统
Nov 27 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 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模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
cakephp常见知识点汇总
2017/02/24 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
Vue配置marked链接添加target="_blank"的方法
2019/07/19 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
Python中input和raw_input的一点区别
2014/10/21 Python
python动态网页批量爬取
2016/02/14 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
python实现简单颜色识别程序
2020/02/19 Python
python是怎么被发明的
2020/06/15 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
Ajax的工作原理
2015/12/04 面试题
中职生自荐信
2013/10/13 职场文书
社区工作者思想汇报
2014/01/13 职场文书
合作意向书范本
2014/03/31 职场文书
卖房协议书
2014/04/11 职场文书
运动与健康自我评价
2015/03/09 职场文书
MySQL笔记 —SQL运算符
2022/01/18 MySQL