mindspore.nn.AdaptiveAvgPool3d
- class mindspore.nn.AdaptiveAvgPool3d(output_size)[source]
This operator applies a 3D adaptive average pooling to an input signal composed of multiple input planes. That is, for any input size, the size of the specified output is
. The number of output features is equal to the number of input planes.Suppose the last 3 dimension size of input is
, then the last 3 dimension size of output is .- Parameters
output_size (Union[int, tuple]) – The target output size. output_size can be a tuple
, or an int D for . , and can be int or None which means the output size is the same as that of the input.
- Inputs:
input (Tensor) - The input of AdaptiveAvgPool3d, which is a 5D or 4D Tensor, with float16, float32 or float64 data type.
- Outputs:
Tensor, with the same type as the input.
- Raises
TypeError – If input is not a Tensor.
TypeError – If dtype of input is not float16, float32 or float64.
ValueError – If the dimension of input is not 4D or 5D.
ValueError – If output_size value is not positive.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore as ms >>> import numpy as np >>> # case 1: output_size=(3, 3, 4) >>> output_size=(3, 3, 4) >>> input_x_val = np.random.randn(4, 3, 5, 6, 7) >>> input_x = ms.Tensor(input_x_val, ms.float32) >>> net = ms.nn.AdaptiveAvgPool3d(output_size) >>> output = net(input_x) >>> print(output.shape) (4, 3, 3, 3, 4) >>> # case 2: output_size=4 >>> output_size=5 >>> input_x_val = np.random.randn(2, 3, 8, 6, 12) >>> input_x = ms.Tensor(input_x_val, ms.float32) >>> net = ms.nn.AdaptiveAvgPool3d(output_size) >>> output = net(input_x) >>> print(output.shape) (2, 3, 5, 5, 5) >>> # case 3: output_size=(None, 4, 5) >>> output_size=(None, 4, 5) >>> input_x_val = np.random.randn(4, 1, 9, 10, 8) >>> input_x = ms.Tensor(input_x_val, ms.float32) >>> net = ms.nn.AdaptiveAvgPool3d(output_size) >>> output = net(input_x) >>> print(output.shape) (4, 1, 9, 4, 5)