mindspore.nn.AdaptiveAvgPool1d
- class mindspore.nn.AdaptiveAvgPool1d(output_size)[源代码]
对输入的多维数据进行一维平面上的自适应平均池化运算。
在一个输入Tensor上应用1D adaptive average pooling,可视为组成一个1D输入平面。
通常,输入的shape为 \((N_{in}, C_{in}, L_{in})\) ,AdaptiveAvgPool1d在 \(L_{in}\) 维度上计算区域平均值。 输出的shape为 \((N_{in}, C_{in}, L_{out})\) ,其中, \(L_{out}\) 为 output_size。
Note
\(L_{in}\) 必须能被 output_size 整除。
- 参数:
output_size (int) - 目标输出大小 \(L_{out}\)。
- 输入:
x (Tensor) - shape为 \((N, C_{in}, L_{in})\) 的Tensor,数据类型为float16或float32。
- 输出:
Tensor,其shape为 \((N, C_{in}, L_{out})\),数据类型与 x 相同。
- 异常:
TypeError - output_size 不是int。
TypeError - x 不是float16或float32。
ValueError - output_size 小于1。
ValueError - x 的shape长度不等于3。
ValueError - x 的最后一个维度小于 output_size。
ValueError - x 的最后一个维度不能被 output_size 整除。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> 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)