老师,4-6(1)中第四个分支max_pooling层的padding为什么不能设为same
来源:4-6 Inception-mobile_net(1)
慕尼黑6883914
2018-10-08
老师,4-6(1)中第四个分支max_pooling层的padding为什么还需要手动算呢,为什么不能通过padding参数来控制最后的输出大小
就是下面这段代码
max_pooling = tf.layers.max_pooling2d(x,
(2, 2),
(2, 2),
name = 'max_pooling')
max_pooling_shape = max_pooling.get_shape().as_list()[1:]
input_shape = x.get_shape().as_list()[1:]
width_padding = (input_shape[0] - max_pooling_shape[0]) // 2
height_padding = (input_shape[1] - max_pooling_shape[1]) // 2
改成
max_pooling = tf.layers.max_pooling2d(x,
(2, 2),
(2, 2),
name = 'max_pooling',
padding='same')
可以么?
写回答
1回答
-
正十七
2018-10-13
不行,padding需要计算的原因是第四个分支经过了max_pooling导致输出变小了,但是其他几个分支并没有变小。而这几个分支是要按照通道合并起来的,所以我们要将变小的第四个分支再变回来。
相当于图像大小从[10, 10] 变为[5,5]后 再变为[10, 10]。
你在这里改了之后就没有再变回来的步骤了。
10
相似问题