函数原型位于torch.nn.functional.py
def pad(input, pad, mode='constant', value=0):
Args:
input (Tensor):4维或者5维的tensor
pad (tuple): 不同tensor的填充方式
1.四维tensor,传入4元素tuple(pad_l,pad_r,pad_t,pad_b),指的是(左填充,
右填充,上填充,下填充),其数值代表填充次数
2.六维tensor,传入6元素tuple(pleft,pright,ptop,pbottom,pfront,pback)
mode:'constant常量', 'reflect反射`, `replicate复制` or ``'circular'``.
Default: ``'constant'``
value: 填充的数值,在'constant'模式下,默认填充`0``
例子
import torch
import torch.nn.functional as F
original_values = torch.randn([1,1, 3, 2])#生成一个[1,1,3,2]的tensor
print("original_values: ",original_values,"\n")
#tensor([[[[-0.6208, -1.4084],
# [-0.2202, 0.1708],
# [ 0.9050, -1.2441]]]])
print("original_values的shape: ",original_values.shape)#torch.Size([1, 1, 3, 2])
padding_values = F.pad(original_values, pad=(1,0,0,0))
print("padding_values: ",padding_values,"\n")
#tensor([[[[ 0.0000, -0.6208, -1.4084],
# [ 0.0000, -0.2202, 0.1708],
# [ 0.0000, 0.9050, -1.2441]]]])
print("padding_values的shape: ",padding_values.shape)#torch.Size([1, 1, 3, 3])