mindspore.mint.nn.ReflectionPad2d
- class mindspore.mint.nn.ReflectionPad2d(padding)[源代码]
使用输入边界的反射对输入最后2维 input 进行填充。
更多参考详见
mindspore.mint.nn.functional.pad()
。- 参数:
padding (Union[int, tuple, list]) - 指定填充的大小。
- 输入:
input (Tensor) - 输入Tensor,3D或4D。shape为 \((C, H_{in}, W_{in})\) 或 \((N, C, H_{in}, W_{in})\) 。
- 输出:
Tensor,填充后的Tensor。
- 异常:
TypeError - padding 不是一个integer或包含4个int的tuple或者list。
TypeError - input 不是Tensor。
ValueError - padding 含有负数。
ValueError - padding 是tuple或list,且长度和Tensor的维度不匹配。
- 支持平台:
Ascend
样例:
>>> import numpy as np >>> import mindspore as ms >>> x = ms.Tensor(np.array([[[0, 1, 2], [3, 4, 5], [6, 7, 8]]]).astype(np.float32)) >>> # x has shape (1, 3, 3) >>> padding = (1, 1, 2, 0) >>> pad2d = ms.mint.nn.ReflectionPad2d(padding) >>> # The first dimension of x remains the same. >>> # The second dimension of x: H_out = H_in + pad_up + pad_down = 3 + 1 + 1 = 5 >>> # The third dimension of x: W_out = W_in + pad_left + pad_right = 3 + 2 + 0 = 5 >>> out = pad2d(x) >>> # The shape of out is (1, 5, 5) >>> print(out) [[[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.]]]