mindspore.ops.AdaptiveAvgPool2D

class mindspore.ops.AdaptiveAvgPool2D(output_size)[源代码]

二维自适应平均池化。

更多参考详见 mindspore.ops.adaptive_avg_pool2d()

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • output_size (Union[int, tuple]) - 输出特征图的size。 output_size 可以为二元tuple表示 \((H, W)\)。或者是单个int表示 \((H, H)\)\(H\)\(W\) 可以是int或None,如果是None,则意味着输出的size与输入相同。

输入:
  • input_x (Tensor) - AdaptiveAvgPool2D的输入,为三维或四维的Tensor,数据类型为float16、float32或者float64。

输出:

Tensor,数据类型与 input_x 相同。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> # case 1: output_size=(None, 2)
>>> input_x = Tensor(np.array([[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]],
...                            [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]],
...                            [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]]), mindspore.float32)
>>> adaptive_avg_pool_2d = ops.AdaptiveAvgPool2D((None, 2))
>>> output = adaptive_avg_pool_2d(input_x)
>>> print(output)
[[[1.5 2.5]
  [4.5 5.5]
  [7.5 8.5]]
 [[1.5 2.5]
  [4.5 5.5]
  [7.5 8.5]]
 [[1.5 2.5]
  [4.5 5.5]
  [7.5 8.5]]]
>>> # case 2: output_size=2
>>> adaptive_avg_pool_2d = ops.AdaptiveAvgPool2D(2)
>>> output = adaptive_avg_pool_2d(input_x)
>>> print(output)
[[[3. 4.]
  [6. 7.]]
 [[3. 4.]
  [6. 7.]]
 [[3. 4.]
  [6. 7.]]]
>>> # case 3: output_size=(1, 2)
>>> adaptive_avg_pool_2d = ops.AdaptiveAvgPool2D((1, 2))
>>> output = adaptive_avg_pool_2d(input_x)
>>> print(output)
[[[4.5 5.5]]
 [[4.5 5.5]]
 [[4.5 5.5]]]