欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytorch 模型可視化的例子

 更新時間:2019年08月17日 17:39:30   作者:我~  
今天小編就為大家分享一篇pytorch 模型可視化的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

一. 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 模型可視化的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于Python的高級數(shù)據(jù)結(jié)構(gòu)與算法

    關(guān)于Python的高級數(shù)據(jù)結(jié)構(gòu)與算法

    這篇文章主要介紹了關(guān)于Python的高級數(shù)據(jù)結(jié)構(gòu)與算法,掌握這些數(shù)據(jù)結(jié)構(gòu)和算法將幫助我們在實際編程中解決各種問題,提高我們的編程技巧和水平,需要的朋友可以參考下
    2023-04-04
  • 詳解pycharm2020.1.1專業(yè)版安裝指南(推薦)

    詳解pycharm2020.1.1專業(yè)版安裝指南(推薦)

    這篇文章主要介紹了pycharm2020.1.1專業(yè)版安裝指南,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • cv2.getStructuringElement()函數(shù)及開、閉、腐蝕、膨脹原理講解

    cv2.getStructuringElement()函數(shù)及開、閉、腐蝕、膨脹原理講解

    getStructuringElement()函數(shù)可用于構(gòu)造一個特定大小和形狀的結(jié)構(gòu)元素,用于圖像形態(tài)學(xué)處理,這篇文章主要介紹了cv2.getStructuringElement()函數(shù)及開、閉、腐蝕、膨脹原理講解的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python判斷操作系統(tǒng)類型代碼分享

    Python判斷操作系統(tǒng)類型代碼分享

    這篇文章主要介紹了Python判斷操作系統(tǒng)類型代碼分享,編寫一些跨平臺程序時經(jīng)常要用到,需要的朋友可以參考下
    2014-11-11
  • python自動發(fā)微信監(jiān)控報警

    python自動發(fā)微信監(jiān)控報警

    這篇文章主要為大家詳細介紹了python自動發(fā)微信監(jiān)控報警,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 利用Python繪畫雙擺操作分享

    利用Python繪畫雙擺操作分享

    這篇文章主要介紹了利用Python畫雙擺,繪畫雙擺的過程主要包括以下步驟,雙擺問題、運動過程及公式推導(dǎo)過程,下文詳細介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Python中的ConfigParser模塊使用詳解

    Python中的ConfigParser模塊使用詳解

    這篇文章主要介紹了Python中的ConfigParser模塊的使用,ConfigParser模塊主要被用來讀寫配置模塊,需要的朋友可以參考下
    2015-05-05
  • python numpy矩陣信息說明,shape,size,dtype

    python numpy矩陣信息說明,shape,size,dtype

    這篇文章主要介紹了python numpy矩陣信息說明,shape,size,dtype,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • opencv3/C++實現(xiàn)視頻讀取、視頻寫入

    opencv3/C++實現(xiàn)視頻讀取、視頻寫入

    今天小編就為大家分享一篇opencv3/C++實現(xiàn)視頻讀取、視頻寫入,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python常見異常分類與處理方法

    Python常見異常分類與處理方法

    之前在學(xué)習(xí)python的時候有整理過python異常處理的文章,不夠簡單也不夠完整,所以決定再整理一篇,算做補充。
    2017-06-06

最新評論