add AdaptiveAvgPool2d && AdaptiveMaxPool3d docs
This commit is contained in:
parent
221c009c44
commit
8d57d3e83c
|
@ -181,8 +181,10 @@ Dropout层
|
|||
:template: classtemplate.rst
|
||||
|
||||
mindspore.nn.AdaptiveAvgPool1d
|
||||
mindspore.nn.AdaptiveAvgPool2d
|
||||
mindspore.nn.AdaptiveMaxPool1d
|
||||
mindspore.nn.AdaptiveMaxPool2d
|
||||
mindspore.nn.AdaptiveMaxPool3d
|
||||
mindspore.nn.AvgPool1d
|
||||
mindspore.nn.AvgPool2d
|
||||
mindspore.nn.MaxPool1d
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
mindspore.nn.AdaptiveAvgPool2d
|
||||
==============================
|
||||
|
||||
.. py:class:: mindspore.nn.AdaptiveAvgPool2d(output_size)
|
||||
|
||||
2维自适应平均池化。
|
||||
|
||||
对输入Tensor,提供2维的自适应平均池化操作,也就是说,对于输入任何尺寸,指定输出的尺寸都为H * W。但是输入和输出特征的数目不会变化。
|
||||
|
||||
输入和输出数据格式可以是"NCHW"和"CHW"。N是批处理大小,C是通道数,H是特征高度,W是特征宽度。运算如下:
|
||||
|
||||
.. math::
|
||||
\begin{align}
|
||||
h_{start} &= floor(i * H_{in} / H_{out})\\
|
||||
h_{end} &= ceil((i + 1) * H_{in} / H_{out})\\
|
||||
w_{start} &= floor(j * W_{in} / W_{out})\\
|
||||
w_{end} &= ceil((j + 1) * W_{in} / W_{out})\\
|
||||
Output(i,j) &= \frac{\sum Input[h_{start}:h_{end}, w_{start}:w_{end}]}{(h_{end}- h_{start})
|
||||
* (w_{end}- w_{start})}
|
||||
\end{align}
|
||||
|
||||
**参数:**
|
||||
|
||||
- **output_size** (Union[int, tuple]) - 输出特征图的尺寸为H * W。可以是int类型的H和W组成的tuple,也可以为一个int值,代表相同H和W,或None,如果是None,则意味着输出大小与输入相同。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **input_x** (Tensor) - AdaptiveAvgPool2d的输入,为三维或四维的Tensor,数据类型为float16、float32或者float64。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,输出shape为 :math:`(N, C_{out}, H_{out}, W_{out})`。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **ValueError** - 如果 `output_size` 是tuple,并且 `output_size` 的长度不是2。
|
||||
- **TypeError** - 如果 `input_x` 不是Tensor。
|
||||
- **TypeError** - 如果 `input_x` 的数据类型不是float16、float32或者float64。
|
||||
- **ValueError** - 如果 `input_x` 的维度小于或等于 `output_size` 的维度。
|
|
@ -0,0 +1,29 @@
|
|||
mindspore.nn.AdaptiveMaxPool3d
|
||||
==============================
|
||||
|
||||
.. py:class:: mindspore.nn.AdaptiveMaxPool3d(output_size, return_indices=False)
|
||||
|
||||
3维自适应最大值池化。
|
||||
|
||||
对于任何输入尺寸,输出的大小为 :math:`(D, H, W)` ,其中输出特征的数量与输入特征的数量相同。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **output_size** (Union[int, tuple]) - 表示输出特征图的尺寸,输入可以是tuple :math:`(D, H, W)`,也可以是一个int值D来表示输出尺寸为 :math:`(D, D, D)` 。:math:`D` , :math:`H` 和 :math:`W` 可以是int型整数或者None,其中None表示输出大小与对应的输入的大小相同。
|
||||
- **return_indices** (bool) - 如果 `return_indices` 为True,将会输出最大值对应的索引,否则不输出索引。默认为False。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **x** (Tensor) - shape为 :math:`(C, D, H, W)` 或 :math:`(N,C, D, H, W)` 的Tensor,支持的数据类型包括int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64。
|
||||
|
||||
**输出:**
|
||||
|
||||
- **y** (Tensor) - Tensor,与输入 `x` 的数据类型和维度相同。
|
||||
- **argmax** (Tensor) - Tensor,最大值对应的索引,数据类型为int32,并与 `y` 的shape相同。仅当 `return_indices` 为True的时候才返回该值。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `x` 不是Tensor。
|
||||
- **ValueError** - `x` 的维度不是4D或者5D。
|
||||
- **TypeError** - `x` 的数据类型不是int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64其中之一。
|
||||
- **ValueError** - `output_size` 不是一个int整数或者shape为(3,)的tuple。
|
|
@ -181,8 +181,10 @@ Pooling Layer
|
|||
:template: classtemplate.rst
|
||||
|
||||
mindspore.nn.AdaptiveAvgPool1d
|
||||
mindspore.nn.AdaptiveAvgPool2d
|
||||
mindspore.nn.AdaptiveMaxPool1d
|
||||
mindspore.nn.AdaptiveMaxPool2d
|
||||
mindspore.nn.AdaptiveMaxPool3d
|
||||
mindspore.nn.AvgPool1d
|
||||
mindspore.nn.AvgPool2d
|
||||
mindspore.nn.MaxPool1d
|
||||
|
|
|
@ -770,7 +770,7 @@ class AdaptiveMaxPool3d(Cell):
|
|||
ValueError: If the dimensions number of `x` is not 4 or 5.
|
||||
TypeError: If dtype of `x` is not int8, int16, int32, int64, uint8, uint16, uint32, uint64,
|
||||
float16, float32 or float64.
|
||||
ValueError: If the shape of `output_size` is not (3,).
|
||||
ValueError: If `output_size` is neither an int nor a tuple with shape (3,).
|
||||
|
||||
Supported Platforms:
|
||||
``GPU``
|
||||
|
|
|
@ -1644,9 +1644,9 @@ def max_pool3d(x, kernel_size, stride=None, padding=0, dilation=1, ceil_mode=Fal
|
|||
>>> x = Tensor(np.arange(2 * 1 * 2 * 2 * 2).reshape((2, 1, 2, 2, 2)), mindspore.float32)
|
||||
>>> output_tensor, argmax = F.max_pool3d(x, kernel_size=2, stride=1, padding=1, return_indices=True)
|
||||
>>> print(output_tensor.shape)
|
||||
[2, 1, 3, 3, 3]
|
||||
(2, 1, 3, 3, 3)
|
||||
>>> print(argmax.shape)
|
||||
[2, 1, 3, 3, 3]
|
||||
(2, 1, 3, 3, 3)
|
||||
"""
|
||||
strides = stride if (stride is not None) else kernel_size
|
||||
max_pool3d_with_argmax_ = _get_cache_prim(NN_OPS.MaxPool3DWithArgmax)(
|
||||
|
|
|
@ -2523,9 +2523,9 @@ class MaxPool3DWithArgmax(Primitive):
|
|||
>>> max_pool3d_with_arg_op = ops.MaxPool3DWithArgmax(ksize=2, strides=1, pads=1)
|
||||
>>> output_tensor, argmax = max_pool3d_with_arg_op(x)
|
||||
>>> print(output_tensor.shape)
|
||||
[2, 1, 3, 3, 3]
|
||||
(2, 1, 3, 3, 3)
|
||||
>>> print(argmax.shape)
|
||||
[2, 1, 3, 3, 3]
|
||||
(2, 1, 3, 3, 3)
|
||||
"""
|
||||
|
||||
@prim_attr_register
|
||||
|
|
Loading…
Reference in New Issue