F.pad()

import torch.nn.functional as F
F.pad(input,pad,mode='constant',value=0)
input: 需要扩充的tensor,可以是图像数据,也可以是特征矩阵数据
pad: 扩充维度,用于预先定义出某维度上的扩充参数(每两个参数用来扩充一维))
mode: 扩充方法,有‘constant’,‘reflect’,‘replicate’,三种模式,
表示常量,反射,复制
value: 扩充时指定补充值,value只能在constant模式才能赋值

一维填充
a=t》orch.empty(1,1,5,2)
pld=(1,2)
t1=F.pad(a,pld,'constant',1)
print(t1)
print(t1.shape)
>>
tensor([[[[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.]]]])
torch.Size([1, 1, 5, 5])
同理得二维填充
a=torch.empty(1,1,5,2)
pld=(1,2,1,3)
t1=F.pad(a,pld,'constant',1)
print(t1)
print(t1.shape)
>>
tensor([[[[1., 1., 1., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 0., 0., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]]]])
torch.Size([1, 1, 9, 5])
其它维数同理,不想扩充该维可用0,0代替