• 卷积层与池化层输出的尺寸的计算公式详解


     用文字简单表述如下

    1. 卷积后尺寸计算公式:
    2. (图像尺寸-卷积核尺寸 + 2*填充值)/步长+1
    3. 池化后尺寸计算公式:
    4. (图像尺寸-池化窗尺寸 + 2*填充值)/步长+1

    一、卷积中的相关函数的参数定义如下:
    in_channels(int) – 输入信号的通道
    out_channels(int) – 卷积产生的通道
    kerner_size(int or tuple) - 卷积核的尺寸
    stride(int or tuple, optional) - 卷积步长
    padding (int or tuple, optional)- 输入的每一条边补充0的层数
    dilation(int or tuple, optional) – 卷积核元素之间的间距
    groups(int, optional) – 从输入通道到输出通道的阻塞连接数
    bias(bool, optional) - 如果bias=True,添加偏置

    二、卷积层和池化层后输出size公式如下:
    ①卷积层参数:
    W:宽
    H:高
    D:深度
    K:卷积核的个数
    F:卷积核的大小
    S:步长
    P:用0填充


    公式:W/H=[(输入大小-卷积核大小+2*P)/步长] +1

    上图中的output =[(7-3)+2*1]/1 +1 =7


    关于padding:

    自动补全的话,考虑步长为1,每一卷积从第一个维度开始一步一步移动,直到最后一个维度,那么输出肯定是和原来的维度一样,如果步长不是1比如为2 就要向上取整。比如77的图像采用33大小的卷积核进行卷积操作,padding = “SAME”的情况下就是[7/2] = 4,其中[]表示向上取整,最后输出为4*4大小的feature map
    ① padding = “VALID”, stride = 4, (227 - 11 + 2x0)/ 4 + 1 = 55
    ② padding = “VALID”, stride = 2, (55 - 3 + 2x0)/ 2 + 1 = 27
    ③ padding = “SAME”, stride = 1, 27 / 1 = 27
    ④ padding = “VALID”,stride = 2, (27 - 3 + 2x0) / 2 + 1 = 13

    总结:
    padding = “VALID”,N = [(W-F+2P)/S]+1,这里表示的是向下取整再加1
    padding = “SAME”,N = [W/S],这里表示向上取整

    池化层参数:
    池化层的计算与卷积层一样

  • 相关阅读:
    关于两种常用特殊字符判断方法
    文件管理命令 ls,别名
    1、单例模式
    vue实现数字金额动态变化效果
    Shiro笔记02-基本使用
    MFC3d立体按钮制作
    Shiro学习1----spring boot整合(Java方式)
    原码、反码和补码
    如何在Linux系统中搭建Zookeeper集群
    数据结构之链表详解(2)——双向链表
  • 原文地址:https://blog.csdn.net/weixin_54633033/article/details/133689299