pytorch 网络可视化(五):netron

共三种方法

1. netron 包可视化网络

1.1 安装 netron 包

打开 Anaconda Prompt 进入自己的 pytorch 环境,运行代码安装 netron 依赖包,如下(其中 pt 是我自己的 pytorch 环境):

在这里插入图片描述

1.2 测试是否安装成功

运行 python 进入交互式环境,导入 netron 如果不报错则表示安装成功。
在这里插入图片描述

1.3 查看网络结构

打开自己的 python 编辑器,解释器选择为自己 pytorch 环境下的 python.exe,运行测试代码:

# 针对有网络模型,但还没有训练保存 .pth 文件的情况
import netron
import torch.onnx
from torch.autograd import Variable
from torchvision.models import resnet18  # 以 resnet18 为例

myNet = resnet18()  # 实例化 resnet18
x = torch.randn(16, 3, 40, 40)  # 随机生成一个输入
modelData = "./demo.pth"  # 定义模型数据保存的路径
# modelData = "./demo.onnx"  # 有人说应该是 onnx 文件,但我尝试 pth 是可以的 
torch.onnx.export(myNet, x, modelData)  # 将 pytorch 模型以 onnx 格式导出并保存
netron.start(modelData)  # 输出网络结构

#  针对已经存在网络模型 .pth 文件的情况
import netron

modelData = "./demo.pth"  # 定义模型数据保存的路径
netron.start(modelData)  # 输出网络结构

运行测试代码不会在控制台输出网络结构,而是直接打开自己电脑的浏览器进行显示。如果程序没有直接打开浏览器,自己复制或者直接点击控制台打印出的链接到浏览器打开即可。

在这里插入图片描述
最后测试代码的中的 resnet18 网络结构如图(图片太大,只贴一部分):

在这里插入图片描述

可以看出,在输出的网络结构中,不仅有整个网络的结构,还可以看出输入数据在网络中是如何改变的,这对于检查我们训练网络时出现的张量不匹配问题定位很有帮助。

2. netron 网页版可视化网络

netron 网页版链接:https://lutzroeder.github.io/netron/ 内容如下,点击 Accept 进入页面。由于是 github 链接,国内访问有时会不成功或者很慢,不建议用此方法。

在这里插入图片描述

点击 Open Model,选择自己训练好的一个网络模型数据,一般 pytorch 的网络模型数据都是 .pth 文件。

在这里插入图片描述

接下来网页就会显示该 .pth 文件对应的网络结构,如图是 resnet18 对应的部分网络结构:

在这里插入图片描述

3. netron 软件可视化网络

除了直接安装 netron 包和使用在线 netron 来显示网络模型外,也可以下载 netron 软件来查看网络输出模型。
github 下载链接:https://github.com/lutzroeder/Netron
github 下载比较慢或者打不开可以用其他链接下载: https://download.csdn.net/download/Wenyuanbo/20285395

在 github 中 Windows Download 处点击直接下载 .exe 可执行文件。

在这里插入图片描述
双击运行进入安装程序,选择 Accept,进入主界面选择 Open Model,打开自己保存的 pytorch 网络模型 .pth 文件,如图我打开的是 resnet18 对应的 .pth 文件,结果如图:

在这里插入图片描述

4. 可能遇到的问题

使用 pip install netron 安装的 netron 包在输出网络模型时会出现错误,RuntimeError: ONNX export failed: Couldn’t export operator aten::adaptive_avg_pool2d。

解决办法:将 AdaptiveAvgPool2d() 改成 AvgPool2d()。

  • 58
    点赞
  • 140
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听 风、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值