Pad#

class Pad(pad_width, mode='constant', constant_val=0.0)[源代码]#

填充输入张量。

参数:
  • pad_width (Tuple[Tuple[int, int], ...]) – 一个元组。元组中的每个元素都是两个元素的元组,这两个元素表示当前维度两侧的填充大小, (front_offset, back_offset)

  • mode (str) – 以下字符串值之一. Default: 'constant' * 'constant': 常量填充. * 'reflect': 边缘填充. * 'replicate': 沿 tensor 每个轴的第一个和最后一个值上镜像填充.

  • constant_val (float) – 使用常量填充。默认值: 0

实际案例

>>> import numpy as np
>>> inp = Tensor([[1., 2., 3.],[4., 5., 6.]])
>>> inp
Tensor([[1. 2. 3.]
 [4. 5. 6.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1),), mode="constant")
>>> m(inp)
Tensor([[0. 0. 0.]
 [1. 2. 3.]
 [4. 5. 6.]
 [0. 0. 0.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1),), mode="constant", constant_val=9)
>>> m(inp)
Tensor([[9. 9. 9.]
 [1. 2. 3.]
 [4. 5. 6.]
 [9. 9. 9.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1), (1, 2)), mode="reflect")
>>> m(inp)
Tensor([[5. 4. 5. 6. 5. 4.]
 [2. 1. 2. 3. 2. 1.]
 [5. 4. 5. 6. 5. 4.]
 [2. 1. 2. 3. 2. 1.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1), (1, 2)), mode="replicate")
>>> m(inp)
Tensor([[1. 1. 2. 3. 3. 3.]
 [1. 1. 2. 3. 3. 3.]
 [4. 4. 5. 6. 6. 6.]
 [4. 4. 5. 6. 6. 6.]], device=xpux:0)