??本文我们使用三种方式对神经网络结构进行可视化,其中Netron工具适用范围最广,基本可用于大部分主流框架;hiddenlayer工具包适用于Pytorch、Tensorflow、Keras框架;而pytorchviz工具包只适用于Pytorch。(链接都指向github库)
??本文以Pytorch框架下的resnet34为例进行可视化,只是做简单说明,如果使用的是Tensorflow或者Keras可以使用hiddenlayer,因为hiddenlayer的github文档有详细的例子。
先给个Netron的github文档的介绍,可见其适用范围之广
Netron是先导出onnx文件然后在网页进行可视化,可视化结果颜色漂亮,可以进行大小缩放等操作,且支持大部分框架。
我们创建resnet34然后将其导出为onnx文件。
import torch
import torchvision
net = torchvision.models.resnet34()
torch.onnx.export(net, torch.randn((1, 3, 224, 224)), 'resnet34.onnx')
此时当前路径下会生成一个"resnet34.onnx"文件
我们进入Netron在线可视化官网
我们点击Open Model打开刚才保存的resnet34.onnx文件
此时我们得到了漂亮的可视化结果
hiddenlayer是一个轻量级的工具包,可以用于可视化神经网络图和训练指标,适用于Pytorch, Tensorflow, Keras
下面代码的工作为
!pip install hiddenlayer
import torch
import torchvision
import hiddenlayer as hl
net = torchvision.models.resnet34()
hl_graph = hl.build_graph(net, torch.zeros((1, 3, 224, 224)))
hl_graph.theme = hl.graph.THEMES["blue"].copy() # Two options: basic and blue
hl_graph.save("./resnet34")
其结果如图
下面代码的工作为
!pip install torchviz
import torch
import torchvision
from torchviz import make_dot
net = torchvision.models.resnet34()
y = net(torch.zeros(1, 3, 224, 224, dtype=torch.float, requires_grad=False))
make_dot(y, params=dict(net.named_parameters()))
可视化结果为
最近在修改网站的响应式的页面时,由于都是套样式页面,修改过程都是粘贴复制,...
密室逃脱 题解 简单dp 其实看到这道题是很容易想到dp的 谁知道我当时哪里打错了 ...
一、对MySQL的锁的了解 当数据库有并发事务的时候,可能会产生数据的不一致,这...
一、基本原理 MySQL复制过程分成三步: 1)、master将改变记录到二进制日志(bina...
自己写了一个工具类实现ApplicationContextAware接口方便在一些特定的情形无法使...
MySQL学习一—初识MySQL 害不知不觉一个半月过去了时间过得太快了学校的MySQL已...
7-1 数9 数论题 题目求有多少个9的倍数或者尾数为9的数。数据范围是1e9所以肯定...
本文实例讲述了thinkphp 3.2框架视图模型 实例视图查询结果的二维数组合并操作。...
Laravel默认的报错信息显示的是英文,Laravel 为消息验证的多语言提供了一种非常...
?你是否会时常感觉自己怎么也记不住东西是不是总是会感觉别人记忆力很强其实记忆...