在tf.nn.conv2d函数中,当变量padding为VALID和SAME,函数具体是怎么计算的呢?其实是有公式的。为了方便演示,先定义几个变量:
输入的尺寸高和宽定义成:in_height,in_width
卷积核的高和宽定义成filter_height、filter_width
输入的尺寸中高和宽定义成output_height、out_width
步长的高宽方向定义成strides_height、strides_width.
一 VALID情况:边缘不填充
输入宽和高的公式分别为:
output_width=(in_width-filter_width+1)/strides_width(结果向上取整)
output_height=(in_height-filter_height+1)/strides_height(结果向上取整)
二 SAME情况:边缘填充
输出的宽和高将与卷积核没关系,具体公式如下:
output_width=in_width/strides_width(结果向上取整)
output_height=in_height/strides_height(结果向上取整)
这里有一个很重要的知识点——补零的规则,见如下公式:
pad_height=max((out_height-1)*strides_height+filter_height-in_height,0)
pad_width=max((out_width-1)*strides_width+filter_width-in_width,0)
pad_top=pad_height/2
pad_bottom=pad_height-pad_top
pad_left=pad_width/2
pad_right=pad_width-pad_left
上面公式中
pad_height:代表高度方向上要填充0的行数。
pad_width:代表宽度方向要填充0的列数。
pad_top、pad_bottom、pad_left、pad_right分别代表上、下、左、右这4个方向填充0的行、列数。
三 规则举例
下面通过一个例子来理解一下padding规则。
假设用一个一维数据来举例,输入是13,filter是6,步长是5,对于padding的取值有如下表示:
‘VALID’,生成宽度为(13-6+1)/5=2(向上取整)个数字。
inputs:
(1 2 3 4 5 6) 7 8 9 10 11 12 13
1 2 3 4 5 (6 7 8 9 10 11) 12 13
12和13丢弃
‘SAME’,生成的宽度为13/5=3(向上取整)
Padding的方式可以如下计算:
Pad_width=(3-1)*5+6-13=3
Pad_left=pad_width/2=3/2=1
Pad_rigth=Pad_width-pad_left=2
在左边补一个0,右边补2个0
input:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 0
(0 1 2 3 4 5) 6 7 8 9 10 11 12 13 0 0
0 1 2 3 4 (5 6 7 8 9 10) 11 12 13 0 0
0 1 2 3 4 5 6 7 8 9 (10 11 12 13 0 0)。
@ html内边距啥意思?
内边距padding的意思是: 边框与内容之间的距离。
内边距padding
padding属性定义元素的内边距。padding 属性接受长度值或百分比值,但不允许使用负值。
按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值,例如:
h1 {padding: 10px 0.25em 2ex 20%;}
内边距也通过使用下面四个单独的属性,分别设置上、右、下、左内边距
padding-top 上内边距;
padding-right 右内边距;
padding-bottom 下内边距;
padding-left 左内边距;
例如:
h1 {
padding-top: 10px;
padding-right: 0.25em;
padding-bottom: 2ex;
padding-left: 20%;
}
@ css如何设置列表间距?
1、使用ul、li标签创建一个列表项。
2、设置ul标签的class属性为mylist。
3、在css标签中,通过class设置ul列表项的样式。
4、在css标签中,使用padding-top属性设置列表项上间距,使用padding-bottom属性设置列表项的下间距。
5、在浏览器打开test.html文件,查看实现的效果。
@ padding和margin的使用?
 margin和padding的用法:
padding和margin后面可以跟1或2或3或4个数,按照顺序分别是上,右,下,左。具体的操作如下:
(1)padding(margin)-left:10px;左内(外)边距;
(2)padding(margin)-right:10px;右内(外)边距;
(3)padding(margin)-top:10px;上内(外)边距;
(4)padding(margin)-bottom:10px;下内(外)边距;
(5)padding(margin):10px;四边统一内(外)边距;
(6)padding(margin):10px 20px; 10px是上下内(外)边距;20px是左右内(外)边距
(7)padding(margin):10px 20px 30px; 10px是上内(外)边距;20px是左右内(外)边距;30px是下内(外)边距;
(8)padding(margin):10px 20px 30px 40px; 10px是上内(外)边距;20px是右内(外)边距;30px是下内(外)边距;40px是左内边距;