【可视化】Hiddenlayer可视化ResNeSt网络结构

  Hiddenlayer库包含一个build_graph()函数,可以非常方便地将深度学习网络进行可视化

1.AlexNet可视化

import torch
from torchvision.models.alexnet import AlexNet
import hiddenlayer as hl

model = AlexNet()
print(model)
hl_graph = hl.build_graph(model, torch.zeros([3, 3, 224, 224]))
hl_graph.theme = hl.graph.THEMES['blue'].copy()
hl_graph.save('./AlexNet.png', format='png')
print('Have done!')

AlexNet结构:
在这里插入图片描述
可视化:
在这里插入图片描述

2.ResNet18可视化

import torch
from torchvision.models.resnet import resnet18
import hiddenlayer as hl

model = resnet18()
print(model)
hl_graph = hl.build_graph(model, torch.zeros([3, 3, 224, 224]))
hl_graph.theme = hl.graph.THEMES['blue'].copy()
hl_graph.save('./resnet18.png', format='png')
print('Have done!')

可视化:
在这里插入图片描述

3.ResNeSt可视化

  可以发现,随着网络深度加深,可视化的结果变得非常密集,ResNeSt结构最少为50层,为了降低密集程度,使得结构更加清晰,自定义了一个ResNeSt8网络,将ResNeSt50的[3,4,6,3]改为了[2,2,2,2]

import torch
from resnest.torch import resnest8
import hiddenlayer as hl

model = resnest8()
print(model)
hl_graph = hl.build_graph(model, torch.zeros([3, 3, 224, 224]))
hl_graph.theme = hl.graph.THEMES['blue'].copy()
hl_graph.save('./resnest8.png', format='png')
print('Have done!')

可视化:总体呈现8个块
在这里插入图片描述
  ResNeSt网络一共有4个Layer,每个Layer除了第一个Bottlenck有Downsample外,其他Bottlenck都是直接的残差连接。且由于Layer1之前有一个Maxpool层,已经将输入下采样4倍,故Layer1的第一个Bottlenck的Downsample其实没有进行下采样。
在这里插入图片描述
  选择Layer1的第一个Bottlenck放大,红线表示Downsample,绿线表示SplAtConv2d模块,整体形式与论文中基本一致。至于图中那些constant,唔…我也很迷惑…求大神指点在这里插入图片描述
原论文图:
在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值