mindspore/docs/api/api_python/nn/mindspore.nn.ReflectionPad2...

41 lines
2.0 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.nn.ReflectionPad2d
============================
.. py:class:: mindspore.nn.ReflectionPad2d(paddings)
根据 `paddings` 对输入 `x` 进行填充。
**参数:**
- **paddings** (tuple/int) - 填充大小如果输入为integer, 则对所有边界进行相同大小的padding如果是tuple则顺序为(pad_left, pad_right, pad_up, pad_down)。
.. code-block::
# 假设参数和输入如下:
paddings = (1, 1, 2, 0).
x = [[[[0, 1, 2], [3, 4, 5], [6, 7, 8]]]].
# `x` 的第一个维度为1 第二个维度为1 第三个维度为3第四个维度为3。
# 输出的第一个维度不变。
# 输出的第二个维度不变。
# 输出的第三个维度为H_out = H_in + pad_up + pad_down = 3 + 1 + 1 = 5。
# 输出的第四个维度为W_out = W_in + pad_left + pad_right = 3 + 2 + 0 = 5。
# 所以最终的输出shape为(1, 1, 5, 5)
**输入:**
- **x** (Tensor) - 输入Tensor, shape为 :math:`(C, H_in, W_in)`:math:`(N, C, H_in, W_in)`
**输出:**
Tensor填充后的Tensor, shape为 :math:`(C, H_out, W_out)`:math:`(N, C, H_out, W_out)`。其中 :math:`H_out = H_in + pad_up + pad_down`,:math:`W_out = W_in + pad_left + pad_right, H_out = H_in`
-`x` 使用对称轴进行对称复制的方式进行填充(复制时不包括对称轴)。例如 `x` 为[[[[0, 1, 2], [3, 4, 5], [6, 7, 8]]]] `paddings` 为(1, 1, 2, 0),则输出为[[[[7., 6., 7., 8., 7.], [4., 3., 4., 5., 4.], [1., 0., 1., 2., 1.], [4., 3., 4., 5., 4.], [7., 6., 7., 8., 7.]]]]。
**异常:**
- **TypeError** - `padding` 不是tuple或integer。
- **ValueError** - `padding` 中存在不是integer的元素
- **ValueError** - `padding` 是tuple且长度不能被2整除。
- **ValueError** - `padding` 是tuple且存在负数。
- **ValueError** - `padding` 是tuple且和tensor的维度不匹配。