AdaptiveMaxPool2d¶
- class AdaptiveMaxPool2d(oshp, **kwargs)[source]¶
- Applies a 2D max adaptive pooling over an input. - For instance, given an input of the size \((N, C, H, W)\) and an output shape \((OH, OW)\), this layer generates the output of the size \((N, C, OH, OW)\) through a process described as: \[\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}\]- kernel_sizeand- stridecan be inferred from input shape and out shape:- padding: (0, 0) 
- stride: (floor(IH / OH), floor(IW / OW)) 
- kernel_size: (IH - (OH - 1) * stride_h, IW - (OW - 1) * stride_w) 
 - Parameters
- oshp (Union[Tuple[int, int], int, Tensor]) – the target output shape of the image of the form Height * Width. Can be tuple (H, W) or a single H for a square image H * H. 
 - Shape:
- Input: \((N, C, H_{in}, W_{in})\) or \((C, H_{in}, W_{in})\). 
- Output: \((N, C, H_{out}, W_{out})\) or \((C, H_{out}, W_{out})\), where \((H_{out}, W_{out})=\text{output\_shape}\). 
 
 - Returns
- module. The instance of the - AdaptiveMaxPool2dmodule.
- Return type
- Return type 
 - Examples - >>> import numpy as np >>> m = M.AdaptiveMaxPool2d((2, 2)) >>> inp = mge.tensor(np.arange(0, 16).astype("float32").reshape(1, 1, 4, 4)) >>> oup = m(inp) >>> oup.numpy() array([[[[ 5., 7.], [13., 15.]]]], dtype=float32)