卷积神经网络介绍

卷积神经网络(Convolutional Neural Networks,CNN) 网络的组件:卷积层,池化层,激活层和全连接层。

CNN主要由以下层构造而成:

  • 卷积层:Convolutional layer(CONV)
  • 池化层:Pooling layer (POOL)
  • 激活层:Activation Layer
  • 全连接层:Fully Connected layer(FC)

 卷积层:Convolutional layer(CONV):

常用的卷积(Conv2d)在pytorch中对应的函数是:

torch.nn.Conv2d(in_channels, 
                out_channels, 
                kernel_size, 
                stride=1, 
                padding=0, 
                dilation=1, 
                groups=1, 
                bias=True, 
                padding_mode='zeros', 
                device=None, 
                dtype=None)
  • in_channels (int) – 参数代表输入特征矩阵的深度即channel,比如输入一张RGB彩色图像,那in_channels=3
  • out_channels (int) – 参数代表卷积核的个数,使用n个卷积核输出的特征矩阵深度即channel就是n
  • kernel_size (int or tuple) – 参数代表卷积核的尺寸,输入可以是int类型如3 代表卷积核的height=width=3,也可以是tuple类型如(5, 3)代表卷积核的height=5,width=3
  • stride (int or tuple, optional) – 参数代表卷积核的步距默认为1,和kernel_size一样输入可以是int类型,也可以是tuple类型
  • padding (int, tuple or str, optional) – 参数代表在输入特征矩阵四周补零的情况默认为0,同样输入可以为int型如1 代表上下左右补一圈0,如果输入为tuple型如(2, 1) 代表在上方补两行下方补两行,左边补一列,右边补一列。padding[0]是在H高度方向两侧填充的,padding[1]是在W宽度方向两侧填充的。如果要实现更灵活的padding方式,可使用nn.ZeroPad2d方法。
  • dilation (int or tuple, optional)– 空洞卷积,参数代表kernel内的点(卷积核点)的间距,默认为1,取值方式类似padding。
  • bias (bool, optional) – 参数表示是否使用偏置(默认使用)
  • groups (int, optional) – 分组卷积的组数,能减少参数和正则化效果。默认为1,也即都在1个组内。

 实际应用中,dilation相对较少,因此特征图的边长公式一般可以简化如下:

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值