Rate this Page

MaxPool2d#

classtorch.nn.MaxPool2d(kernel_size,stride=None,padding=0,dilation=1,return_indices=False,ceil_mode=False)[source]#

Applies a 2D max pooling over an input signal composed of several input planes.

In the simplest case, the output value of the layer with input size(N,C,H,W)(N, C, H, W),output(N,C,Hout,Wout)(N, C, H_{out}, W_{out}) andkernel_size(kH,kW)(kH, kW)can be precisely described as:

out(Ni,Cj,h,w)=maxm=0,,kH1maxn=0,,kW1input(Ni,Cj,stride[0]×h+m,stride[1]×w+n)\begin{aligned} out(N_i, C_j, h, w) ={} & \max_{m=0, \ldots, kH-1} \max_{n=0, \ldots, kW-1} \\ & \text{input}(N_i, C_j, \text{stride[0]} \times h + m, \text{stride[1]} \times w + n)\end{aligned}

Ifpadding is non-zero, then the input is implicitly padded with negative infinity on both sidesforpadding number of points.dilation controls the spacing between the kernel points.It is harder to describe, but thislink has a nice visualization of whatdilation does.

Note

When ceil_mode=True, sliding windows are allowed to go off-bounds if they start within the left paddingor the input. Sliding windows that would start in the right padded region are ignored.

The parameterskernel_size,stride,padding,dilation can either be:

  • a singleint – in which case the same value is used for the height and width dimension

  • atuple of two ints – in which case, the firstint is used for the height dimension,and the secondint for the width dimension

Parameters
  • kernel_size (Union[int,tuple[int,int]]) – the size of the window to take a max over

  • stride (Union[int,tuple[int,int]]) – the stride of the window. Default value iskernel_size

  • padding (Union[int,tuple[int,int]]) – Implicit negative infinity padding to be added on both sides

  • dilation (Union[int,tuple[int,int]]) – a parameter that controls the stride of elements in the window

  • return_indices (bool) – ifTrue, will return the max indices along with the outputs.Useful fortorch.nn.MaxUnpool2d later

  • ceil_mode (bool) – when True, will useceil instead offloor to compute the output shape

Shape:

Examples:

>>># pool of square window of size=3, stride=2>>>m=nn.MaxPool2d(3,stride=2)>>># pool of non-square window>>>m=nn.MaxPool2d((3,2),stride=(2,1))>>>input=torch.randn(20,16,50,32)>>>output=m(input)
forward(input)[source]#

Runs the forward pass.