卷积操作中的same padding与valid padding
最近在研究卷积神经网络,很多卷积操作里头都会有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
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相关推荐
- css padding效果,CSS Padding(填充)
CSS Padding(填充) CSS Padding(填充)属性定义元素边框与元素内容之间的空间. Padding(填充) 当元素的 Padding(填充)(内边距)被清除时,所"释放&q ...
- php中padding,css中padding填充详解
语法: padding:[ | ]{1,4} 默认值:看每个独立属性 适用于:所有元素,除 table-row-group | table-header-group | table-footer-gr ...
- 卷积操作中的矩阵乘法(gemm)—— 为什么矩阵乘法是深度学习的核心所在
1. 全连接 kk 个输入: nn 个神经元: 每个神经元都会学到一组权值向量,以和输入进行内积运算: nn 个输出: 2. 卷积 卷积操作对于高维(多个平面)的输入,单个卷积核的深度应和输入的深度( ...
- pkcs5 padding和pkcs7 padding的区别
pkcs5 padding和pkcs7 padding都是加密数据时用来填充数据的一种模式. 先说下block_size,即块大小.在加密算法中(如DES,AES,RSA),数据是分块加密的(为什么要 ...
- html设置padding颜色,CSS Padding(填充)
CSS Padding(填充) CSS Padding(填充)属性定义元素边框与元素内容之间的空间. Padding(填充) 当元素的 Padding(填充)(内边距)被清除时,所"释放&q ...
- 卷积层,池化层,padding=‘same‘ ,为什么卷积层图像尺寸不变,池化层后图像尺寸减半呢?
先摆一下通用计算公式: h:图像长度,k:卷积/池化核尺寸,p:填充数,s:移动步长 长度公式: 宽度公式: 对于经过卷积,池化后的图像尺寸都可以按照此公式进行计算. 在实际的使用过程中经常会有此疑惑 ...
- 【从零开始学习深度学习】22. 卷积神经网络(CNN)中填充(padding)与步幅(stride)详解,填充、步幅、输入及输出之间的关系
目录 1 填充(padding) 2 步幅(stride) 总结 在上一篇文章中,我们使用高和宽为3的输入与高和宽为2的卷积核得到高和宽为2的输出.一般来说,假设输入形状是 n h × n w n_h ...
- android padding作用,android:padding和android:layout_margin的区别
简单点来说: android:padding是内边距,控件本身的内容与控件边缘的距离. android:layout_margin是外边距,控件与其他控件之间的距离. 下面以具体的例子来进行解释: 1 ...
- CSS中的margin、border、padding区别 CSS padding margin border属性详解
图解CSS padding.margin.border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层 ...
最新文章
- 读CLR via C#总结(4) 值类型的装箱和拆箱
- c++ stl队列初始化_声明,初始化和访问向量| C ++ STL
- 使用Python编写一个聪明的尼姆游戏
- C++之继承探究(十):抽象基类与纯虚函数
- FPGA 闪烁LED
- 非线性光纤光学_《Nature》子刊:解决大纵横比光纤中传质不匀的难题!
- Centos下docker相关文件迁移发生的问题记录
- 输出华氏温度用java_用JAVA写一个将华氏温度转换成摄氏温度的程序
- 10bit灰阶测试图_我可能买的是一块假10bit显示器以及一块假8bit显示器?
- 如何清理和优化你的Mac:14个小技巧推荐给你!
- 看完这篇,你一定会打开谷歌搜索...
- 上传pdf文件转图片翻页小工具,遇到JSP form中type=file的文件上传及后台Part处理问题(后台取值为null)
- 【MD5】校验下载文件完整性
- gdal库之ecw光栅图像支持
- 对自己的些许期盼!!!
- android q 桌面模式,Android Q带来全新桌面模式
- 独立站卖家如何使用 WhatsApp Business API 建立有意义的客户关系?
- 尝尝鲜:IDEA 使用 GitHub Copilot 插件
- 2020年一级消防工程师消防安全技术实务精讲班第1讲-考试特点及备考方案
- pxcook导出html代码,PxCook中标注工具的使用方法