code: def GlobalAvgPooling(x, data_format='channels_last'):
      
      assert x.shape.ndims == 4
      data_format = get_data_format(data_format)
      axis = [1, 2] if data_format == 'channels_last' else [2, 3]
      return tf.reduce_mean(x, axis, name='output')
docs: Global average pooling as in the paper `Network In Network
      <http://arxiv.org/abs/1312.4400>`_.
  
      Args:
          x (tf.Tensor): a 4D tensor.
  
      Returns:
          tf.Tensor: a NC tensor named ``output``.