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_indicesFalse ,返回Tensor, 其shape为 \((N, C_{in}, L_{out})\),数据类型与 input 相同。

  • 如果 return_indicesTrue,则是一个包含了两个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.]]]