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


前言

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.结果

在这里插入图片描述

二、netron

1.简介

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

2.运行上述代码

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

3.打开方式

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

在这里插入图片描述
打开保存的alexnet.pt文件即可
(2)使用python直接读取
需要pip install netron安装

3.结果

在这里插入图片描述

三、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

猜你喜欢

转载自blog.csdn.net/weixin_43183872/article/details/108573188
今日推荐