mindspore.nn.LPPool1d
- class mindspore.nn.LPPool1d(norm_type, kernel_size, stride=None, ceil_mode=False)[source]
Applying 1D LPPooling operation on an input Tensor can be regarded as forming a 1D input plane.
Typically the input is of shape \((N_{in}, C_{in}, L_{in})\) or \((C_{in}, L_{in})\), the output is of shape \((N_{out}, C_{out}, L_{out})\) or \((C_{out}, L_{out})\), with the same shape as input, the operation is as follows.
\[f(X) = \sqrt[p]{\sum_{x \in X} x^{p}}\]- Parameters
norm_type (Union[int, float]) –
Type of normalization, represents \(p\) in the formula, can not be 0.
if p = 1, the result is the sum of the elements within the pooling kernel(proportional to average pooling).
if p = \(\infty\), the result is the result of maximum pooling.
kernel_size (int) – The size of kernel window.
stride (int) – The distance of kernel moving, an int number that represents the width of movement is stride, if the value is None, the default value kernel_size is used. Default:
None
.ceil_mode (bool) – If
True
, use ceil to calculate output shape. IfFalse
, use ceil to calculate output shape. Default:False
.
- Inputs:
x (Tensor) - Tensor of shape \((N_{in}, C_{in}, L_{in})\) or \((C_{in}, L_{in})\).
- Outputs:
output (Tensor) - LPPool1d result, with shape \((N_{out}, C_{out}, L_{out})\) or \((C_{out}, L_{out})\), it has the same data type as x, where
\[L_{out} = \left\lfloor\frac{L_{in} - \text{kernel_size}}{\text{stride}} + 1\right\rfloor\]
- Raises
TypeError – If x is not a Tensor.
TypeError – If kernel_size or stride is not an int.
TypeError – If ceil_mode is not a bool.
TypeError – If norm_type is neither float nor int.
ValueError – If norm_type is equal to 0.
ValueError – If kernel_size or stride is less than 1.
ValueError – If length of shape of x is not equal to 2 or 3.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore as ms >>> import numpy as np >>> a = ms.Tensor(np.arange(2 * 3 * 4).reshape((2, 3, 4)), dtype=ms.float32) >>> net = ms.nn.LPPool1d(norm_type=1, kernel_size=3, stride=1) >>> out = net(a) >>> print(out) [[[ 3. 6.] [15. 18.] [27. 30.]] [[39. 42.] [51. 54.] [63. 66.]]]