mindspore.nn.AdaptiveAvgPool1d

class mindspore.nn.AdaptiveAvgPool1d(output_size)[source]

Applies a 1D adaptive average pooling over an input Tensor which can be regarded as a composition of 1D input planes.

Typically, the input is of shape \((N_{in}, C_{in}, L_{in})\), AdaptiveAvgPool1d outputs regional average in the \(L_{in}\)-dimension. The output is of shape \((N_{in}, C_{in}, L_{out})\), where \(L_{out}\) is defined by output_size.

Note

\(L_{in}\) must be divisible by output_size.

Parameters

output_size (int) – the target output size \(L_{out}\).

Inputs:
  • x (Tensor) - Tensor of shape \((N, C_{in}, L_{in})\), with float16 or float32 data type.

Outputs:

Tensor of shape \((N, C_{in}, L_{out})\), has the same type as x.

Raises
  • TypeError – If output_size is not an int.

  • TypeError – If x is neither float16 nor float32.

  • ValueError – If output_size is less than 1.

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

  • ValueError – If the last dimension of x is smaller than output_size.

  • ValueError – If the last dimension of x is not divisible by output_size.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> from mindspore import Tensor, nn
>>> import numpy as np
>>> pool = nn.AdaptiveAvgPool1d(output_size=2)
>>> x = Tensor(np.random.randint(0, 10, [1, 3, 6]), mindspore.float32)
>>> output = pool(x)
>>> result = output.shape
>>> print(result)
(1, 3, 2)