使用tf.reduce_mean替代全局池?

时间:2018-10-29 07:09:55

标签: python tensorflow conv-neural-network

output = tf.reduce_mean(net, [1, 2], name='global_pool', keep_dims=False) 

net的形状(batch_size,高度,宽度,#channels)

还有其他方法可以进行全局池化并获得相同的结果吗?

1 个答案:

答案 0 :(得分:1)

我有一个计算非常复杂的方法,但是它可以工作:

  1. 使用tf.split(..., axis=-1)
  2. 对每个分割执行tf.layers.average_pooling2d,并选择内核大小=张量大小

第二个选项是: tf.keras.layers.GlobalAveragePooling2D,但我建议在幕后使用tf.reduce_mean,但要仔细看源代码。