mindspore.mint.nn.functional.adaptive_avg_pool3d
- mindspore.mint.nn.functional.adaptive_avg_pool3d(input, output_size)[源代码]
对一个多平面输入信号执行三维自适应平均池化。对于任何输入尺寸,指定输出的尺寸都为
,但是输入和输出特征的数目不会变化。假设输入 input 最后三维大小分别为
,则输出的最后三维大小分别为 ,运算如下:警告
对于Ascend,仅支持 Atlas A2 训练系列产品。 这是一个实验性API,后续可能修改或删除。
- 参数:
input (Tensor) - adaptive_avg_pool3d的输入,是4D或者5D的Tensor。
output_size (Union[int, tuple]) - 指定输出特征图的尺寸,可以是个tuple
,也可以是一个int值D来表示输出尺寸为 。 , 和 可以是int值或者None,其中None表示输出大小与对应的输入的大小相同。
- 返回:
Tensor,与输入 input 的数据类型相同。
- 异常:
TypeError - input 不是Tensor。
ValueError - input 维度不是4D或者5D。
ValueError - output_size 的值不是正数。
- 支持平台:
Ascend
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, mint >>> # case 1: output_size=(3, 3, 4) >>> output_size=(3, 3, 4) >>> input_val = np.random.randn(4, 3, 5, 6, 7) >>> input = Tensor(input_val, mindspore.float32) >>> output = mint.nn.functional.adaptive_avg_pool3d(input, output_size) >>> print(output.shape) (4, 3, 3, 3, 4) >>> # case 2: output_size=4 >>> output_size=5 >>> input_val = np.random.randn(2, 3, 8, 6, 12) >>> input = Tensor(input_val, mindspore.float32) >>> output = mint.nn.functional.adaptive_avg_pool3d(input, output_size) >>> print(output.shape) (2, 3, 5, 5, 5) >>> # case 3: output_size=(None, 4, 5) >>> output_size=(None, 4, 5) >>> input_val = np.random.randn(4, 1, 9, 10, 8) >>> input = Tensor(input_val, mindspore.float32) >>> output = mint.nn.functional.adaptive_avg_pool3d(input, output_size) >>> print(output.shape) (4, 1, 9, 4, 5)