mindspore.nn.LPPool2d

View Source On Gitee
class mindspore.nn.LPPool2d(norm_type, kernel_size, stride=None, ceil_mode=False)[source]

Applying 2D LPPooling operation on an input Tensor can be regarded as forming a 1D input plane.

Typically the input is of shape (N,C,Hin,Win), the output is of shape (N,C,Hin,Win), with the same shape as input, the operation is as follows.

f(X)=xXxpp

Note

This interface currently does not support Atlas A2 training series products.

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 = , the result is the result of maximum pooling.

  • kernel_size (Union[int, tuple[int]]) – The size of kernel window. The data type of kernel_size must be int and the value represents the height and width, or a tuple of two int numbers that represent height and width respectively.

  • stride (Union[int, tuple[int]]) – The distance of kernel moving, an int number that represents the height and width of movement are both stride, or a tuple of two int numbers that represent height and width of movement respectively, if the value is None, the default value kernel_size is used. Default: None .

  • ceil_mode (bool) – Whether to use ceil or floor to calculate output shape. Default: False .

Inputs:
  • x (Tensor) - Tensor of shape (N,C,Hin,Win).

Outputs:
  • output (Tensor) - LPPool2d result, with shape (N,C,Hin,Win), It has the same data type as x, where

Hout=Hinkernel_size[0]stride[0]+1
Wout=Winkernel_size[1]stride[1]+1
Raises
  • TypeError – If x is not a Tensor.

  • TypeError – If kernel_size or stride is neither int nor tuple.

  • 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 kernel_size or stride is a tuple whose length is not equal to 2.

  • ValueError – If length of shape of x is not equal to 4.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore as ms
>>> import numpy as np
>>> a = ms.Tensor(np.arange(2 * 3 * 4 * 5).reshape((2, 3, 4, 5)), dtype=ms.float32)
>>> net = ms.nn.LPPool2d(norm_type=1, kernel_size=3, stride=1)
>>> out = net(a)
>>> print(out)
[[[[  54.   63.   72.]
   [  99.  108.  117.]]
  [[ 234.  243.  252.]
   [ 279.  288.  297.]]
  [[ 414.  423.  432.]
   [ 459.  468.  477.]]]
 [[[ 594.  603.  612.]
   [ 639.  648.  657.]]
  [[ 774.  783.  792.]
   [ 819.  828.  837.]]
  [[ 954.  963.  972.]
   [ 999. 1008. 1017.]]]]