mindspore.mint.nn.ReflectionPad3d

查看源文件
class mindspore.mint.nn.ReflectionPad3d(padding)[源代码]

使用输入边界的反射对输入最后3维 input 进行填充。

更多参考详见 mindspore.mint.nn.functional.pad()

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • padding (Union[int, tuple, list]) - 指定填充的大小。

输入:
  • input (Tensor) - 输入Tensor,4D或5D。shape为 \((N, D_{in}, H_{in}, W_{in})\)\((N, C, D_{in}, H_{in}, W_{in})\)

输出:

Tensor,填充后的Tensor。

异常:
  • TypeError - padding 不是一个integer或包含6个int的tuple或者list。

  • TypeError - input 不是Tensor。

  • ValueError - padding 含有负数。

  • ValueError - padding 是tuple或list,且长度和Tensor的维度不匹配。

支持平台:

Ascend

样例:

>>> import numpy as np
>>> import mindspore as ms
>>> arr = np.arange(8).astype(np.float32).reshape((1, 2, 2, 2))
>>> x = ms.Tensor(arr)
>>> # x has shape (1, 2, 2, 2)
>>> padding = (1, 1, 1, 0, 0, 1)
>>> pad3d = ms.mint.nn.ReflectionPad3d(padding)
>>> out = pad3d(x)
>>> # The first dimension of x remains the same.
>>> # The second dimension of x: D_out = D_in + pad_front + pad_back = 2 + 0 + 1 = 3
>>> # The third dimension of x: H_out = H_in + pad_up + pad_down = 2 + 1 + 0 = 3
>>> # The last dimension of x: W_out = W_in + pad_left + pad_right = 2 + 1 + 1 = 4
>>> # The shape of out is (1, 3, 3, 4)
>>> print(out)
[[[[3. 2. 3. 2.]
   [1. 0. 1. 0.]
   [3. 2. 3. 2.]]
  [[7. 6. 7. 6.]
   [5. 4. 5. 4.]
   [7. 6. 7. 6.]]
  [[3. 2. 3. 2.]
   [1. 0. 1. 0.]
   [3. 2. 3. 2.]]]]