【Datawhale学习】Pytorch可视化

        对于我们刚刚接触神经网络的初学者来说,它是非常神奇的一个存在:我们将特征进行输入,数据流经网络,进行一番操作后就输出了结果。所谓训练神经网络的过程,就是通过梯度下降不断修改网络内部的参数,从而使得输出结果越来越精确。在写好的程序中,构建神经网络模型完成后就把它封装起来了,并且前向传播(forward)、反向传播(backward)都是自动计算的。因此,神经网络对于使用者而言,更像是一个“黑箱”,我们不知道数据输入黑箱后发生了什么,只知道这个黑箱可以给出我们想要的结果。

        在炼丹的学习过程中,很容易就变成调包侠,所以要自己多动手去搭建一些网络模型——就相当于把黑箱给拆开来,去了解每一部分的原理;那么Pytorch可视化,相当于把一个连续的训练过程一步步拆解开来,去了解数据每一步的变化,这有助于我们去调试模型、优化超参数。

        首先来看一看经典卷积网络中卷积核的可视化。

        一个卷积神经网络显著的结构特征就是随着卷积的深入,通道数增加。在一个卷积层中,为了实现通道增加,就需要多个卷积核进行配合(后一层网络的通道数=前一层卷积的卷积核个数)。个人是这样理解的:通过添加多个卷积核,可以在每个卷积核上有不同的参数设置,这样就可以从不同特征维度对图像的特征进行提取了。

        例如在前面的FashionMNST分类模型中,模型基本结构如下:

 

直接print(model)就可以看到模型的基本结构:三层的卷积以及两个全连接 

当然看这种基本的网络结构还可以同torchinfo这个包,可以得到更细致的节点信息:

from torchinfo import summary
summary(model,(1,1,28,28))#图片数量1,通道数1,图片尺寸28*28

 可以说是很详细了

         以上操作相当于是把黑箱给拆开观察其内部结构。针对具体结构的某一部分(比如卷积核),同样可以通过可视化的方法来看一看卷积核具体长啥样(conv部分的第一次卷积):

print(model.conv[0])

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值