mindspore/docs/api/api_python/nn/mindspore.nn.MaxPool3d.rst

41 lines
3.5 KiB
ReStructuredText
Raw Normal View History

2022-10-08 16:17:20 +08:00
mindspore.nn.MaxPool3d
=======================
2022-10-13 15:42:27 +08:00
.. py:class:: mindspore.nn.MaxPool3d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
2022-10-08 16:17:20 +08:00
对输入的多维数据进行三维的最大池化运算。
2022-10-27 15:12:01 +08:00
在一个输入Tensor上应用3D max pooling输入Tensor可看成是由一系列3D平面组成的。
2022-10-08 16:17:20 +08:00
2022-10-13 15:42:27 +08:00
通常输入的shape为 :math:`(N_{in}, C_{in}, D_{in}, H_{in}, W_{in})` MaxPool3d输出 :math:`(D_{in}, H_{in}, W_{in})` 维度区域最大值。给定 `kernel_size`:math:`ks = (d_{ker}, h_{ker}, w_{ker})``stride`:math:`s = (s_0, s_1, s_2)`,公式如下。
2022-10-08 16:17:20 +08:00
.. math::
\text{output}(N_i, C_j, d, h, w) =
\max_{l=0, \ldots, d_{ker}-1} \max_{m=0, \ldots, h_{ker}-1} \max_{n=0, \ldots, w_{ker}-1}
\text{input}(N_i, C_j, s_0 \times d + l, s_1 \times h + m, s_2 \times w + n)
参数:
2022-10-26 19:44:35 +08:00
- **kernel_size** (Union[int, tuple[int]]) - 指定池化核尺寸大小如果为int则代表池化核的深度高和宽。如果为tuple其值必须包含三个正整数值分别表示池化核的深度高和宽。取值必须为正整数。
- **stride** (Union[int, tuple[int]]) - 池化操作的移动步长如果为int则代表池化核的深度高和宽方向的移动步长。如果为tuple其值必须包含三个正整数值分别表示池化核的深度高和宽的移动步长。取值必须为正整数。如果值为None则使用默认值 `kernel_size`
- **padding** (Union[int, tuple[int]]) - 池化填充长度。可以是一个整数表示在深度高度和宽度方向的填充长度或者包含三个整数的tuple分别表示在深度高度和宽度方向的填充长度。取值不能为负数。默认值0。
2022-10-08 16:17:20 +08:00
- **dilation** (Union[int, tuple[int]]) - 控制池化核内元素的间距。默认值1。
2022-10-26 19:44:35 +08:00
- **return_indices** (bool) - 若为True则返回一个包含两个Tensor的Tuple表示池化的计算结果以及生成max值的位置否则仅返回池化计算结果。默认值False。
- **ceil_mode** (bool) - 若为True使用ceil模式来计算输出shape。若为False使用floor模式来计算输出shape。默认值False。
2022-10-08 16:17:20 +08:00
输入:
2022-10-18 11:25:57 +08:00
- **x** (Tensor) - shape为 :math:`(N_{in}, C_{in}, D_{in}, H_{in}, W_{in})` 或者 :math:`(C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。数据类型必须为int8、 int16、 int32、 int64、 uint8、 uint16、 uint32、 uint64、 float16、 float32 或者 float64。
2022-10-08 16:17:20 +08:00
输出:
2022-10-18 11:25:57 +08:00
如果 `return_indices` 为False则是shape为 :math:`(N, C, D_{out}, H_{out}, W_{out})` 或者 :math:`(C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。数据类型与 `x` 一致。
2022-10-08 16:17:20 +08:00
如果 `return_indices` 为True则是一个包含了两个Tensor的Tuple表示maxpool的计算结果以及生成max值的位置。
2022-10-13 15:02:45 +08:00
2022-10-18 11:25:57 +08:00
- **output** (Tensor) - 最大池化结果shape为 :math:`(N_{out}, C_{out}, D_{out}, H_{out}, W_{out})` 或者 :math:`(C_{in}, D_{in}, H_{in}, W_{in})` 的Tensor。数据类型与 `x` 一致。
2022-10-08 16:17:20 +08:00
- **argmax** (Tensor) - 最大值对应的索引。数据类型为int64。
异常:
- **TypeError** - `x` 不是一个Tensor。
- **ValueError** - `x` 的shape长度不等于5。
2022-10-13 15:42:27 +08:00
- **TypeError** - `kernel_size``stride``padding``dilation` 既不是整数也不是元组。
- **ValueError** - `kernel_size` 或者 `stride` 小于1。
- **ValueError** - `padding` 小于0。