functional.pad
时间: 2023-09-01 11:07:17 浏览: 140
`functional.pad` 是 PyTorch 中的一个函数,用于对一个张量进行填充。该函数的语法如下:
```python
torch.nn.functional.pad(input, pad, mode='constant', value=0)
```
其中,参数含义如下:
- `input`:需要进行填充的张量。
- `pad`:填充量,可以是单个数字表示在每个维度上的填充量相同,也可以是一个元组,表示在每个维度上的填充量不同。
- `mode`:填充模式,可以是 'constant'(常数填充)、'reflect'(对称填充)或 'replicate'(复制填充)。
- `value`:当 mode 为 'constant' 时,填充的常数值。
例如,以下代码将对一个大小为 (3, 4) 的张量进行填充:
```python
import torch
import torch.nn.functional as F
x = torch.tensor([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
padded_x = F.pad(x, (1, 2, 0, 1), mode='constant', value=0)
print(padded_x)
```
输出:
```
tensor([[ 0, 0, 1, 2, 3, 4, 0, 0],
[ 0, 0, 5, 6, 7, 8, 0, 0],
[ 0, 0, 9, 10, 11, 12, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0]])
```
在这个例子中,我们将张量 `x` 按照 `(1, 2, 0, 1)` 的填充量进行填充,即在第0维前面填充1个0,后面填充2个0,在第1维前面不填充,后面不填充,在第2维前面不填充,后面填充1个0。因此,填充后的张量大小为 (4, 8)。在这个例子中,我们使用了常数填充模式,并将填充的常数值设置为0。
阅读全文