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代替
|