global_pool到底是什么意思,领悟不了啊

来源:4-5 VGG-ResNet实战(2)

浮夸的小蚂蚁

2018-09-10

global_pool = tf.reduce_mean(layers[-1], [1, 2])
这一句不明白在做什么,能详细讲一下吗?

写回答

2回答

正十七

2018-09-11

加入特征图大小是[None, 10,10,2048], (10,10)是每个特征图的大小,2048是通道数目。那么(2,2)的max_pooling会将结果变为[None, 5,5,2048]的大小,而global_pooling,可以看成是(10,10)的pooling,所以结果会变为(None, 1,1,2048), 而因为我用的是reduce_mean, 所以它会自动将[1,2]两个维度抹平,所以问题中代码的输出是[None, 2048], 所以不用展平了。

总而言之,global_pool 相当于是大小与特征图大小一样的pooling。

2
2
正十七
回复
CrazyCat岩
好的,多谢指正,原理类似。
2018-11-25
共2条回复

浮夸的小蚂蚁

提问者

2018-09-10

另外,还想问一下,在vgg中,最后的全连接层,还用了tf.contrib.layers.flatten 进行展平,在这里为什么不用展平了?

0
1
正十七
参考第一个问题的回答。
2018-09-11
共1条回复

深度学习之神经网络(CNN/RNN/GAN)算法原理+实战

深度学习算法工程师必学,深入理解深度学习核心算法CNN RNN GAN

2617 学习 · 935 问题

查看课程