# 2D Global average pooling

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 all the incoming data.

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 tensor of size is 1 x 1 x (input channels).

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

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.