# AvgPool2D¶

class paddle.nn. AvgPool2D ( kernel_size, stride=None, padding=0, ceil_mode=False, exclusive=True, divisor_override=None, data_format='NCHW', name=None ) [source]

This operation applies 2D average pooling over input features based on the input, and kernel_size, stride, padding parameters. Input(X) and Output(Out) are in NCHW format, where N is batch size, C is the number of channels, H is the height of the feature, and W is the width of the feature.

Example

Input:

X shape: $$(N, C, :math:$$, $$W_{in}$$)

Attr:

kernel_size: ksize

Output:

Out shape: $$(N, C, :math:$$, $$W_{out}$$)

$Output(N_i, C_j, h, w) = \frac{\sum_{m=0}^{ksize[0]-1} \sum_{n=0}^{ksize[1]-1} Input(N_i, C_j, stride[0] \times h + m, stride[1] \times w + n)}{ksize[0] * ksize[1]}$
Parameters
• kernel_size (int|list|tuple) – The pool kernel size. If pool kernel size is a tuple or list, it must contain two integers, (pool_size_Height, pool_size_Width). Otherwise, the pool kernel size will be a square of an int.

• stride (int|list|tuple, optional) – The pool stride size. If pool stride size is a tuple or list, it must contain two integers, (pool_stride_Height, pool_stride_Width). Otherwise, the pool stride size will be a square of an int. Default None, then stride will be equal to the kernel_size.

• ceil_mode (bool, optional) – When True, will use ceil instead of floor to compute the output shape.

• exclusive (bool, optional) – Whether to exclude padding points in average pooling mode, default is true.

• divisor_override (float, optional) – If specified, it will be used as divisor, otherwise kernel_size will be used. Default None.

• data_format (str, optional) – The data format of the input and output data. An optional string from: “NCHW”, “NDHW”. The default is “NCHW”. When it is “NCHW”, the data is stored in the order of: [batch_size, input_channels, input_height, input_width].

• name (str, optional) – For detailed information, please refer to Name. Usually name is no need to set and None by default.

Shape:
• x(Tensor): The input tensor of avg pool2d operator, which is a 4-D tensor. The data type can be float32, float64.

• output(Tensor): The output tensor of avg pool2d operator, which is a 4-D tensor. The data type is same as input x.

Returns

A callable object of AvgPool2D.

Raises
• ValueError – If padding is a string, but not “SAME” or “VALID”.

• ValueError – If padding is “VALID”, but ceil_mode is True.

• ShapeError – If the output’s shape calculated is not greater than 0.

Examples

import paddle
import paddle.nn as nn
import numpy as np

# max pool2d
input = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32, 32]).astype(np.float32))
AvgPool2D = nn.AvgPool2D(kernel_size=2,
output = AvgPool2D(input)
# output.shape [1, 3, 16, 16]

forward ( x )

Defines the computation performed at every call. Should be overridden by all subclasses.

Parameters
• *inputs (tuple) – unpacked tuple arguments

• **kwargs (dict) – unpacked dict arguments

extra_repr ( )

Extra representation of this layer, you can have custom implementation of your own layer.