欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pytorch网络可视化——tensorboard、netron、torchviz

程序员文章站 2022-05-18 10:03:50
...


前言

pytorch网络模型的可视化主要有以下几种方法:
1、使用Tensorboard
2、使用netron
3、使用torchviz
下面分别介绍一下,怎样使用这些网络可视化,这里以可视化alexnet为例

一、Tensorboard

之前的文章已经讲过什么是Tensorboard以及怎么安装和可视化了,这里不再做详细的描述,直接上代码

1.源码

import torch
from torch.utils.tensorboard import SummaryWriter
from torchviz import make_dot
import torchvision.models as models


if __name__  == "__main__":

    alexnet = models.alexnet(pretrained=False)  #加载alexnet,这里只需要网络架构,不需要预训练参数

    fake_img = torch.rand(1, 3, 256, 256)  #输入一个假图片
    out = alexnet(fake_img)
    # print(out)

    # 1. 来用tensorboarf进行可视化
    writer = SummaryWriter(comment='test_your_comment',filename_suffix="_test_your_filename_suffix")
    writer.add_graph(alexnet, fake_img)  # 模型及模型输入数据

    # 2. 保存成pt文件后进行可视化
    torch.save(alexnet, "alexnet.pt")

    # 3. 使用graphviz进行可视化
    out = alexnet(fake_img)
    g = make_dot(out)
    g.render('alexnet', view=False)  # 这种方式会生成一个pdf文件

2.结果

Pytorch网络可视化——tensorboard、netron、torchviz

二、netron

1.简介

netron就是一个可以支持各种框架的神经网络模型可视化工具。
netron的github: https://github.com/lutzroeder/Netron

2.运行上述代码

会出现一个“alexnet.pt”文件

3.打开方式

(1)使用netron网页版打开
浏览器中输入链接:https://lutzroeder.github.io/netron/

Pytorch网络可视化——tensorboard、netron、torchviz
打开保存的alexnet.pt文件即可
(2)使用python直接读取
需要pip install netron安装

3.结果

Pytorch网络可视化——tensorboard、netron、torchviz

三、grahviz

1.简介(比较强大)

Graphviz (Graph Visualization Software) 是一个由AT&T实验室启动的开源工具包。DOT是一种图形描述语言,非常简单的,Graphviz就是用来处理这种语言的工具。只需要简单了解一下DOT语言,就可以用Graphviz绘图了,它对程序员特别有用。
官网:http://www.graphviz.org/

2.会出现报错

见这篇博客:https://blog.csdn.net/srf_code/article/details/103108862

相关标签: pytorch框架知识