Global average pooling 2D

This block performs exactly the same operation as the 2D Average pooling block except that the pool size (i.e., Horizontal pooling factor x Vertical pooling factor) is the size of the entire input of the block, i.e., it computes a single average value for each of the input channels.


The 2D Global average pooling block takes a tensor of size (input width) x (input height) x (input channels) and computes the average value of all values across the entire (input width) x (input height) matrix for each of the (input channels).


The output is thus a 1-dimensional tensor of size (input channels).

2D Global average pooling operation. Here 'Depth' = 'Filters'
Figure 1. 2D Global average pooling operation. Here 'Depth' = 'Filters'

When to use global average pooling

Use global average pooling blocks as an alternative to the Flattening block after the last pooling block of your convolutional neural network. Using 2D Global average pooling block can replace the fully connected blocks of your CNN.

For more information, see Section 3.2 of Min Lin, Qiang Chen, Shuicheng Yan. Network In Network.

Was this page helpful?
Yes No