首页 > 试题广场 >

输入图片大小为200×200,依次经过一层卷积(kernel

[单选题]
输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一层卷积(kernel size 3×3,padding 1,stride 1)之后,输出特征图大小为:
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
计算尺寸不被整除只在GoogLeNet中遇到过。卷积向下取整,池化向上取整。
本题 (200-5+2*1)/2+1 为99.5,取99
(99-3)/1+1 为97
(97-3+2*1)/1+1 为97
研究过网络的话看到stride为1的时候,当kernel为 3 padding为1或者kernel为5 padding为2 一看就是卷积前后尺寸不变。
计算GoogLeNet全过程的尺寸也一样。

发表于 2017-07-29 16:10:41 回复(13)
1层卷积:
(200-5+1)/2=98
池化:
98/1=98
2层卷积:
(98-3+1)/1=96
该选96
发表于 2017-07-20 16:25:22 回复(0)
输出尺寸=(输入尺寸-filter尺寸+2*padding)/stride+1
宽和高都是这么计算的;结果是97,答案应该有问题的
发表于 2017-07-17 21:31:23 回复(4)
一层卷积 (200 - 5+ 2)/2 + 1 = 99.5 向下取整,则输出为99x99
pooling (99 - 3 + 0)/1 + 1 = 97 输出为97x97
二层卷积 (97 - 3+ 2)/1 + 1  = 97 输出为97x97
答案为C
不知道牛客的编辑能不能看到这条讨论,给解释一下为什么答案是A?
发表于 2017-07-20 06:19:44 回复(5)

out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height  )+1

out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1

发表于 2017-07-30 11:16:03 回复(0)
kernel size 5×5,卷积后长度和宽度需要减4。5x5的图像与 5×5的核函数卷积后为1×1
kernel size 3×3,卷积后长度和宽度需要减25x5的图像与 3×3的核函数卷积后为3×3,3x3的图像与 3×3的核函数卷积后为1×1。
padding 1卷积后长度和宽度需要加2×1=2。相当于上下左右都填充1个单位
stride 1,卷积后移动的单位数据,stride N则为除以N。
输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2):
(200-4+2*1)/2 = 99
pooling(kernel size 3×3,padding 0,stride 1):
  99-2 = 97
又一层卷积(kernel size 3×3,padding 1,stride 1)之后:
(97-2+2)/1 = 97
发表于 2019-10-27 11:47:16 回复(0)

公式在这里:( input_size + 2*padding - kernel_size ) / stride+1 = output_size

发表于 2019-03-11 17:23:54 回复(0)
(img_size - (kernel_size + 1) + 2 * padding_size) / stride
其实不知道大家为什么在后面+1再取整= =
这个公式是我按照理解来写的,感觉还work。
发表于 2018-07-04 21:49:10 回复(2)
发表于 2019-02-22 17:19:35 回复(0)
发表于 2017-08-03 17:06:55 回复(0)
请问padding 1表示same 还是valid
发表于 2017-07-18 09:56:01 回复(2)
不建议大家**背公式,理解了,画个图,很快的。然后,有个诀窍要记住:看到stride为1的时候,当kernel为 3 padding为1或者kernel为5 padding为2 一看就是卷积前后尺寸不变。
卷积具体如何实现的请参照这篇文章:https://blog.csdn.net/rain6789/article/details/78754516
讲的比较明白。
编辑于 2018-05-19 16:09:43 回复(2)
输出尺寸=(输入尺寸-filter尺寸+2*padding)/stride+1

第一层:(200-5+2×1)/2 + 1 = 99(卷积向下取整)
第二层:(99-3+0)/1 = 96(池化向上取整)
第三层:(96-3+2×1)/1 = 97(卷积向下取整)

stride为1的时候,当kernel为 3 padding为1或者kernel为5 padding为2 一看就是卷积前后尺寸不变。


发表于 2018-05-11 16:34:09 回复(0)
总结:
输出尺寸=(输入尺寸-filter尺寸+2*padding)/stride+1
宽和高都也这么计算的;
out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height  )+1 
out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1

发表于 2018-03-23 11:05:50 回复(0)
97吧?
发表于 2017-07-20 10:49:27 回复(0)
(200+1-5)/2  + 1 = 99
(99-3)/1 + 1 = 97
(97-3)/1 + 1 = 95
编辑于 2017-07-12 11:18:10 回复(9)
C
发表于 2017-03-04 06:24:31 回复(0)
这里有个坑...
这里的padding不是tensorflow里面的“same”或者“valid”,直接代公式即可

发表于 2019-09-13 22:14:37 回复(0)
L_W头像 L_W
手机客户端的那个加号变大变小,看的我难受😖
发表于 2018-11-20 15:55:24 回复(0)