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中针对函数处理的特殊方法
Mar 06 Python
python使用psutil模块获取系统状态
Aug 27 Python
Python脚本获取操作系统版本信息
Dec 17 Python
基于python爬虫数据处理(详解)
Jun 10 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
使用Python更换外网IP的方法
Jul 09 Python
详解python3中的真值测试
Aug 13 Python
python滑块验证码的破解实现
Nov 10 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
Django框架获取form表单数据方式总结
Apr 22 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 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中cookies使用指南
2007/03/16 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
python之文件读取一行一行的方法
2018/07/12 Python
python 获取url中的参数列表实例
2018/12/18 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
python与js主要区别点总结
2020/09/13 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
财务务虚会发言材料
2014/10/20 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
Mysql 性能监控及调优
2021/04/06 MySQL
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server
在python中读取和写入CSV文件详情
2022/06/28 Python