最近在研究卷积神经网络,很多卷积操作里头都会有padding这个选项,以keras中的Conv2D为例,padding操作有valid,same,casual等,我只讨论same和valid这两种模式,casual以后遇到再说。
假设模型的输入维度为n,kernel size为k,步长为s,输出维度为m。

same padding

  当strides=1时,利用same padding操作,模型的输入层和输出层的维度是一致的,我觉得这也是之所以叫"same"这个名字的原因,具体的输出维度如下:
m = ⌈ n s ⌉ m=\lceil \frac{n}{s} \rceil m=⌈sn​⌉
测试代码如下:

import keras
from keras.layers import Conv2D,Input
a=Input(shape=(60,60,1))
conv_samepadding=Conv2D(1,(3,3),strides=(7,7),padding='same')
conv_validpadding=Conv2D(1,(3,3),strides=(7,7),padding='valid')
samepadding_a=conv_samepadding(a)
validpadding_a=conv_validpadding(a)
print(conv_samepadding.output_shape)
print(conv_validpadding.output_shape)

valid padding

  valid padding没有填充操作,输出维度的计算公式如下:
m = ⌊ n − k s ⌋ + 1 m=\lfloor \frac{n-k}{s} \rfloor+1 m=⌊sn−k​⌋+1
参考资料1


  1. https://stackoverflow.com/questions/37674306/what-is-the-difference-between-same-and-valid-padding-in-tf-nn-max-pool-of-t# ↩︎

卷积操作中的same padding与valid padding相关推荐

  1. css padding效果,CSS Padding(填充)

    CSS Padding(填充) CSS Padding(填充)属性定义元素边框与元素内容之间的空间. Padding(填充) 当元素的 Padding(填充)(内边距)被清除时,所"释放&q ...

  2. php中padding,css中padding填充详解

    语法: padding:[ | ]{1,4} 默认值:看每个独立属性 适用于:所有元素,除 table-row-group | table-header-group | table-footer-gr ...

  3. 卷积操作中的矩阵乘法(gemm)—— 为什么矩阵乘法是深度学习的核心所在

    1. 全连接 kk 个输入: nn 个神经元: 每个神经元都会学到一组权值向量,以和输入进行内积运算: nn 个输出: 2. 卷积 卷积操作对于高维(多个平面)的输入,单个卷积核的深度应和输入的深度( ...

  4. pkcs5 padding和pkcs7 padding的区别

    pkcs5 padding和pkcs7 padding都是加密数据时用来填充数据的一种模式. 先说下block_size,即块大小.在加密算法中(如DES,AES,RSA),数据是分块加密的(为什么要 ...

  5. html设置padding颜色,CSS Padding(填充)

    CSS Padding(填充) CSS Padding(填充)属性定义元素边框与元素内容之间的空间. Padding(填充) 当元素的 Padding(填充)(内边距)被清除时,所"释放&q ...

  6. 卷积层,池化层,padding=‘same‘ ,为什么卷积层图像尺寸不变,池化层后图像尺寸减半呢?

    先摆一下通用计算公式: h:图像长度,k:卷积/池化核尺寸,p:填充数,s:移动步长 长度公式: 宽度公式: 对于经过卷积,池化后的图像尺寸都可以按照此公式进行计算. 在实际的使用过程中经常会有此疑惑 ...

  7. 【从零开始学习深度学习】22. 卷积神经网络(CNN)中填充(padding)与步幅(stride)详解,填充、步幅、输入及输出之间的关系

    目录 1 填充(padding) 2 步幅(stride) 总结 在上一篇文章中,我们使用高和宽为3的输入与高和宽为2的卷积核得到高和宽为2的输出.一般来说,假设输入形状是 n h × n w n_h ...

  8. android padding作用,android:padding和android:layout_margin的区别

    简单点来说: android:padding是内边距,控件本身的内容与控件边缘的距离. android:layout_margin是外边距,控件与其他控件之间的距离. 下面以具体的例子来进行解释: 1 ...

  9. CSS中的margin、border、padding区别 CSS padding margin border属性详解

    图解CSS padding.margin.border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层 ...

最新文章

  1. 读CLR via C#总结(4) 值类型的装箱和拆箱
  2. c++ stl队列初始化_声明,初始化和访问向量| C ++ STL
  3. 使用Python编写一个聪明的尼姆游戏
  4. C++之继承探究(十):抽象基类与纯虚函数
  5. FPGA 闪烁LED
  6. 非线性光纤光学_《Nature》子刊:解决大纵横比光纤中传质不匀的难题!
  7. Centos下docker相关文件迁移发生的问题记录
  8. 输出华氏温度用java_用JAVA写一个将华氏温度转换成摄氏温度的程序
  9. 10bit灰阶测试图_我可能买的是一块假10bit显示器以及一块假8bit显示器?
  10. 如何清理和优化你的Mac:14个小技巧推荐给你!
  11. 看完这篇,你一定会打开谷歌搜索...
  12. 上传pdf文件转图片翻页小工具,遇到JSP form中type=file的文件上传及后台Part处理问题(后台取值为null)
  13. 【MD5】校验下载文件完整性
  14. gdal库之ecw光栅图像支持
  15. 对自己的些许期盼!!!
  16. android q 桌面模式,Android Q带来全新桌面模式
  17. 独立站卖家如何使用 WhatsApp Business API 建立有意义的客户关系?
  18. 尝尝鲜:IDEA 使用 GitHub Copilot 插件
  19. 2020年一级消防工程师消防安全技术实务精讲班第1讲-考试特点及备考方案
  20. pxcook导出html代码,PxCook中标注工具的使用方法

热门文章

  1. 移动h5 图片字体等适配
  2. JAVA用爬山法解决八皇后问题_局部搜索算法.ppt
  3. unity Bluetooth LE 插件连接蓝牙
  4. 手机跑分全是骗人的?
  5. 【PKMS】- Settings中应用详情页卸载还原系统应用但数据未清除
  6. 使用加速度传感器与GPS位移求速度
  7. java基础--笔记20
  8. 自学Android开发 关于OkHttp3的request和respond拦截打印Log
  9. python之批量使图片水平翻转
  10. LPDACC-VNP13A1数据介绍