padding

作者: zhenggeaza | 来源:发表于2017-07-11 20:23 被阅读0次

根据tensorflow中的conv2d函数,我们先定义几个基本符号

1、输入矩阵 W×W,这里只考虑输入宽高相等的情况,如果不相等,推导方法一样,不多解释。

2、filter矩阵 F×F,卷积核

3、stride值 S,步长

4、输出宽高为 new_height、new_width

当然还有其他的一些具体的参数,这里就不再说明了。

我们知道,padding的方式在tensorflow里分两种,一种是VALID,一种是SAME,下面分别介绍这两种方式的实际操作方法。

1、如果padding = ‘VALID’

new_height = new_width = (W – F + 1) / S (结果向上取整)

也就是说,conv2d的VALID方式不会在原有输入的基础上添加新的像素(假定我们的输入是图片数据,因为只有图片才有像素),输出矩阵的大小直接按照公式计算即可。

2、如果padding = ‘SAME’

new_height = new_width = W / S (结果向上取整)

在高度上需要pad的像素数为

pad_needed_height = (new_height – 1)  × S + F - W

根据上式,输入矩阵上方添加的像素数为

pad_top = pad_needed_height / 2  (结果取整)

下方添加的像素数为

pad_down = pad_needed_height - pad_top

以此类推,在宽度上需要pad的像素数和左右分别添加的像素数为

pad_needed_width = (new_width – 1)  × S + F - W

pad_left = pad_needed_width  / 2 (结果取整)

pad_right = pad_needed_width – pad_left

至此,关于tensorflow的卷积padding操作介绍完毕,下面是关于此操作的源码(Get2dOutputSizeVerbose函数的部分节选)。

padding(包括avg与max)后的0不参与运算,如下图所示:

avg的结果为(-2-1-1-2)/4=-1.5;max的结果为-1。

相关文章

  • padding,margin的百分比值

    padding-top、padding-right、padding-bottom、padding-leftmarg...

  • 内边距padding和外边距margin

    padding:上 右 下 左padding-top: ;padding-right: ;padding-bott...

  • CSS中如何保持容器宽高比不变的原理

    padding-top 和 padding-bottom属性 padding-top 和 padding-bott...

  • W3C CSS学习笔记

    padding padding是指元素的内边距,元素距离盒子边框的距离。 padding属性 padding-to...

  • padding

    一、 盒子模型和 padding 1.box-sizing :border-box 当padding的值>大于w...

  • padding

    字体左右默认各有1px的距离,相当于写了padding 0 1px。相当于padding清楚了1px之后,重写了

  • padding

    1. padding 与容易尺寸关系复杂 1.1 对于 block 水平元素 { width: 50cm; pad...

  • padding

    根据tensorflow中的conv2d函数,我们先定义几个基本符号 1、输入矩阵 W×W,这里只考虑输入宽高相等...

  • padding

  • Padding

    一.padding--内边距 1.padding和margin属性值上差别在于没有auto选项,二者都有单边赋值x...

网友评论

      本文标题:padding

      本文链接:https://www.haomeiwen.com/subject/eoomhxtx.html