mindspore.mint.nn.AdaptiveMaxPool1d
- class mindspore.mint.nn.AdaptiveMaxPool1d(output_size, return_indices=False)[源代码]
对由多个输入平面组成的输入信号应用1D自适应最大池化。
对于任何输入大小,输出大小为 \(L_{out}\) 。 输出特征的数量等于输入平面的数量。
警告
这是一个实验性API,后续可能修改或删除。
- 参数:
output_size (Union[int, tuple]) - 目标输出的size \(L_{out}\) 。
return_indices (bool,可选) - 如果为
True
,输出最大值的索引,默认值为False
。
- 输入:
input (Tensor) - 输入特征的shape为 \((N, C, L_{in})\) 或 \((C, L_{in})\) 。
- 输出:
Union(Tensor, tuple(Tensor, Tensor))。
如果 return_indices 为
False
,返回Tensor, 其shape为 \((N, C_{in}, L_{out})\),数据类型与 input 相同。如果 return_indices 为
True
,则是一个包含了两个Tensor的Tuple,表示计算结果以及生成max值的位置。
- 异常:
TypeError - input 不是Tensor。
TypeError - input 中的数据不是float16、float32、float64。
TypeError - output_size 不是int或者tuple。
TypeError - return_indices 不是bool。
ValueError - output_size 是tuple,但大小不是1。
- 支持平台:
Ascend
样例:
>>> import mindspore >>> from mindspore import Tensor, mint >>> import numpy as np >>> input = Tensor(np.array([[[2, 1, 2], [2, 3, 5]]]), mindspore.float16) >>> net = mint.nn.AdaptiveMaxPool1d(3) >>> output = net(input) >>> print(output) [[[2. 1. 2.] [2. 3. 5.]]]