mindspore.ops.adaptive_max_pool1d

mindspore.ops.adaptive_max_pool1d(input, output_size)[源代码]

对可以看作是由一系列1D平面组成的输入Tensor,应用一维自适应最大池化操作。

通常,输入的shape为 \((N, C, L_{in})\),adaptive_max_pool1d输出区域最大值在 \(L_{in}\) 区间。 输出的shape为 \((N, C, L_{out})\),其中 \(L_{out}\)output_size 定义。

说明

  • \(L_{in}\) 必须能被 output_size 整除。

  • Ascend平台input参数仅支持float16类型。

参数:
  • input (Tensor) - 输入shape为 \((N, C, L_{in})\),数据类型为float16、float32。

  • output_size (int) - 大小为 \(L_{out}\)

返回:

Tensor,数据类型与 input 相同。 输出的shape为 \((N, C, L_{out})\)

异常:
  • TypeError - 如果 output_size 不是int类型。

  • TypeError - 如果 input 的数据类型不是float16或者float32。

  • ValueError - 如果 output_size 小于1。

  • ValueError - 如果 input 的维度不等于3。

  • ValueError - 如果 input 的最后一维尺寸小于 output_size

  • ValueError - 如果 input 的最后一维尺寸不能被 output_size 整除。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input = Tensor(np.random.randint(0, 10, [1, 3, 6]), mindspore.float32)
>>> output = ops.adaptive_max_pool1d(input, output_size=2)
>>> print(output.shape)
(1, 3, 2)