ZeroPad1d
- 类torch.nn.ZeroPad1d(padding)[源代码]
-
在输入张量的边界上用零进行 padding。
对于 N 维填充,可以使用
torch.nn.functional.pad()
函数。- 参数
-
padding (int, tuple) – 填充的大小。如果是 int,则在两个边界使用相同的填充值。如果是一个 2-元组,则使用 ($\text{padding\_left}$, $\text{padding\_right}$)。
- 形状:
-
-
输入:$(C, W_{in})$ 或 $(N, C, W_{in})$。
-
输出为 $(C, W_{out})$ 或 $(N, C, W_{out})$
$W_{\text{out}} = W_{\text{in}} + \text{padding\_left} + \text{padding\_right}$
-
示例:
>>> m = nn.ZeroPad1d(2) >>> input = torch.randn(1, 2, 4) >>> input tensor([[[-1.0491, -0.7152, -0.0749, 0.8530], [-1.3287, 1.8966, 0.1466, -0.2771]]]) >>> m(input) tensor([[[ 0.0000, 0.0000, -1.0491, -0.7152, -0.0749, 0.8530, 0.0000, 0.0000], [ 0.0000, 0.0000, -1.3287, 1.8966, 0.1466, -0.2771, 0.0000, 0.0000]]]) >>> m = nn.ZeroPad1d(2) >>> input = torch.randn(1, 2, 3) >>> input tensor([[[ 1.6616, 1.4523, -1.1255], [-3.6372, 0.1182, -1.8652]]]) >>> m(input) tensor([[[ 0.0000, 0.0000, 1.6616, 1.4523, -1.1255, 0.0000, 0.0000], [ 0.0000, 0.0000, -3.6372, 0.1182, -1.8652, 0.0000, 0.0000]]]) >>> # using different paddings for different sides >>> m = nn.ZeroPad1d((3, 1)) >>> m(input) tensor([[[ 0.0000, 0.0000, 0.0000, 1.6616, 1.4523, -1.1255, 0.0000], [ 0.0000, 0.0000, 0.0000, -3.6372, 0.1182, -1.8652, 0.0000]]])