精华内容
下载资源
问答
  • 今天小编就为大家分享一篇pytorch 模型可视化的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • pytorch模型可视化

    2021-01-24 17:28:45
    pytorch中model.save()保存的pth模型在Netron中不能画出结构与土,因此转化成onnx模型再画 from torch.autograd import Variable dummy_input = Variable(torch.randn(10, 3, 224, 224)).cuda()#randn(batch_size,...

    pytorch中model.save()保存的pth模型在Netron中不能画出结构图,因此转化成onnx模型再画

    from torch.autograd import Variable
    
    dummy_input = Variable(torch.randn(10, 3, 224, 224)).cuda()#randn(batch_size,channel,w,h)
    torch.onnx.export(model, dummy_input, "model.onnx", export_params=True,opset_version=11)
    

    如果模型中使用了upsample_bilinear2d上采样要加上opset_version=11,否则会报错:
    ONNX export failed: Couldn’t export operator aten::upsample_bilinear2d

    转化完成后使用Netron打开模型

    参考:
    https://zhuanlan.zhihu.com/p/197737707
    https://pytorch.apachecn.org/docs/0.3/onnx.html
    https://blog.csdn.net/info_black_hole/article/details/105556670

    展开全文
  • pytorch 模型可视化

    千次阅读 2018-07-26 15:46:46
    一. 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 ...

    一. 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模型可视化:pytorchviz

    千次阅读 2018-10-11 22:06:52
    pytorch模型可视化比较复杂,此处使用pytorchviz。 操作步骤 1 . 命令行安装pytorchviz(之前要安装graphviz,这个我keras时已经安装) pip install git+https://github.com/szagoruyko/pytorchviz 2 . 使用如下...

    不同于keras的可视化,keras.utils.plot_model。pytorch模型可视化比较复杂,此处使用pytorchviz。

    操作步骤

    1 . 命令行安装pytorchviz(之前要安装graphviz,这个我keras时已经安装)

    pip install git+https://github.com/szagoruyko/pytorchviz
    

    2 . 使用如下代码,保存在统计目录下的pdf文件中,并打开。

    print(model)
    g=make_dot(model(torch.rand(1,3,32,32).cuda()),params=dict(model.named_parameters()))
    g.view()
    

    其中,torch.rand(1,3,32,32).cuda()为伪造的数据,.cuda因为我的模型在gpu上。

    效果

    在这里插入图片描述

    展开全文
  • 【Pytorch】pytorch模型可视化

    千次阅读 2019-05-06 18:46:39
    step1:转载来自:... import torch import torch.nn as nn from tensorboardX import SummaryWriter from torch.autograd import Variable class LeNet(nn....

    step1:转载来自:https://blog.csdn.net/TTdreamloong/article/details/83107110

    import torch
    import torch.nn as nn
    from tensorboardX import SummaryWriter
    from torch.autograd import Variable
    
    class LeNet(nn.Module):
        def __init__(self):
            super(LeNet, self).__init__()
            self.conv1 = nn.Sequential(     #input_size=(1*28*28)
                nn.Conv2d(1, 6, 5, 1, 2),
                nn.ReLU(),      #(6*28*28)
                nn.MaxPool2d(kernel_size=2, stride=2),  #output_size=(6*14*14)
            )
            self.conv2 = nn.Sequential(
                nn.Conv2d(6, 16, 5),
                nn.ReLU(),      #(16*10*10)
                nn.MaxPool2d(2, 2)  #output_size=(16*5*5)
            )
            self.fc1 = nn.Sequential(
                nn.Linear(16 * 5 * 5, 120),
                nn.ReLU()
            )
            self.fc2 = nn.Sequential(
                nn.Linear(120, 84),
                nn.ReLU()
            )
            self.fc3 = nn.Linear(84, 10)
    
        # 定义前向传播过程,输入为x
        def forward(self, x):
            x = self.conv1(x)
            x = self.conv2(x)
            # nn.Linear()的输入输出都是维度为一的值,所以要把多维度的tensor展平成一维
            x = x.view(x.size()[0], -1)
            x = self.fc1(x)
            x = self.fc2(x)
            x = self.fc3(x)
            return x
    
    dummy_input = Variable(torch.rand(1, 3, 224, 224)) #假设输入13张1*28*28的图片
    #model = LeNet()
    with SummaryWriter(comment='resnet34') as w:
        w.add_graph(model,input_to_model=dummy_input)

    step2:上一步会在工程目录下生成runs文件夹,接着执行以下代码:

    tensorboard --logdir runs
    

    step3:然后用浏览器打开上一步骤生成的网址http://Zhen:6006

    展开全文
  • pytorch模型可视化2:tensorboardX

    千次阅读 2018-10-11 22:07:03
    不同于tensorflow提供了强大的可视化功能,pytorch可视化一般借助第三方工具,更通用的方法是使用tensorboardX。 https://github.com/lanpa/tensorboardX 使用命令:pip install tensorboardX安装后,如下代码可视化...
  • 可视化效果图 例子 from models.seg_hrnet import get_seg_model import yaml import torch import os if __name__ == '__main__': cfgPath = './experiments/cityscapes/seg_hrnet_w18_small_v1_512x1024_sgd_lr...
  • 利用pytorch模型可视化以及参数计算

    千次阅读 2019-09-17 16:13:27
    我们在设计完程序以后希望能对我们的模型进行可视化pytorch这里似乎没有提供相应的包直接进行调用,参考一些博客,下面把代码贴出来: import torch from torch.autograd import Variable import torch.nn as nn...
  • 推荐一个非常好用的可视化工具,torchviz/graphviz 第一步,下载 首先要下载Graphviz, [官网地址],我是在windows下,所以直接下载windows版本的zip就可以,下载后找个地方解压就行...
  • pytorch卷积可视化Filter and Feature map Image by the author 筛选和特征图作者提供的图像 When dealing with image’s and image data, CNN are the go-to architectures. Convolutional neural networks have ...
  • Pytorch Tensorboard可视化工具
  • 今天小编就为大家分享一篇使用pytorch实现可视化中间层的结果,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • PyTorch可视化CNN
  • pytorch模型结构可视化

    2020-09-16 11:07:07
    最近在做跟hrnet相关的一些工作,需要查看网络的结构,对某些网络层需要进行特别的处理,所以需要对网络结构进行可视化。一开始想到的就是netron,但是由于hrnet网络中对层进行了封装处理,所以得到的是如下示意图:...
  • pytorch——可视化

    2019-10-30 16:11:47
    Pytorch使用tensorboardX可视化。超详细!!! PyTorch之—可视化(Visdom/TensorboardX)
  • PyTorch-模型可视化工具TorchSummary

    千次阅读 多人点赞 2020-10-26 16:31:46
    本文介绍PyTorch的一个模型可视化工具TorchSummary及其使用教程。
  • [pytorch]可视化feature map

    千次阅读 2020-02-24 18:48:54
    [pytorch]可视化feature map可视化代码:transform函数:numpy转为PIL:tensor转为PIL:训练过程中调用可视化函数直接load预训练好的model并输出feature map 在计算机视觉的项目中,尤其是物体分类,关键点检测等的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,487
精华内容 4,194
关键字:

pytorch模型可视化