最近在做图像转换方面的研究,发现有的数据集原始尺寸不是2的倍数,在推理的时候首先需要进行relection处理,记录一下用法
输入数据为
a= torch.Tensor([[[[1,2,3],[4,5,6],[7,8,9]]]])
定义padding
padding=torch.nn.ReflectionPad2d((1,0,1,0))
padding处理
a=padding(a)
得到输出
tensor([[[[5., 4., 5., 6.],
[2., 1., 2., 3.],
[5., 4., 5., 6.],
[8., 7., 8., 9.]]]])
定义padding
padding=torch.nn.ReflectionPad2d((0,1,0,1))
得到输出
tensor([[[[1., 2., 3., 2.],
[4., 5., 6., 5.],
[7., 8., 9., 8.],
[4., 5., 6., 5.]]]])
定义padding
padding=torch.nn.ReflectionPad2d((1,0,0,0))
得到输出
tensor([[[[2., 1., 2., 3.],
[5., 4., 5., 6.],
[8., 7., 8., 9.]]]])
因此,.ReflectionPad2d中的4个参数分别为右,左,上,下