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 相关文章推荐
python多进程控制学习小结
Oct 31 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
Python django框架应用中实现获取访问者ip地址示例
May 17 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
详解Python Opencv和PIL读取图像文件的差别
Dec 27 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
如何在sublime编辑器中安装python
May 20 Python
Pandas中DataFrame基本函数整理(小结)
Jul 20 Python
java关于string最常出现的面试题整理
Jan 18 Python
Python中for后接else的语法使用
May 18 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
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
php微信公众平台开发类实例
2015/04/01 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
深入理解Python对Json的解析
2017/02/14 Python
pandas 将索引值相加的方法
2018/11/15 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
店长岗位职责
2013/11/21 职场文书
小学敬老月活动方案
2014/02/11 职场文书
爱与责任演讲稿
2014/05/20 职场文书
本科应届生自荐信
2014/06/29 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
投标邀请书范本
2015/02/02 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
python中的getter与setter你了解吗
2022/03/24 Python
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android