Rate this Page

ReflectionPad2d#

classtorch.nn.ReflectionPad2d(padding)[source]#

Pads the input tensor using the reflection of the input boundary.

ForN-dimensional padding, usetorch.nn.functional.pad().

Parameters

padding (int,tuple) – the size of the padding. If isint, uses the samepadding in all boundaries. If a 4-tuple, uses (padding_left\text{padding\_left},padding_right\text{padding\_right},padding_top\text{padding\_top},padding_bottom\text{padding\_bottom})Note that padding size should be less than the corresponding input dimension.

Shape:

Examples:

>>>m=nn.ReflectionPad2d(2)>>>input=torch.arange(9,dtype=torch.float).reshape(1,1,3,3)>>>inputtensor([[[[0., 1., 2.],          [3., 4., 5.],          [6., 7., 8.]]]])>>>m(input)tensor([[[[8., 7., 6., 7., 8., 7., 6.],          [5., 4., 3., 4., 5., 4., 3.],          [2., 1., 0., 1., 2., 1., 0.],          [5., 4., 3., 4., 5., 4., 3.],          [8., 7., 6., 7., 8., 7., 6.],          [5., 4., 3., 4., 5., 4., 3.],          [2., 1., 0., 1., 2., 1., 0.]]]])>>># using different paddings for different sides>>>m=nn.ReflectionPad2d((1,1,2,0))>>>m(input)tensor([[[[7., 6., 7., 8., 7.],          [4., 3., 4., 5., 4.],          [1., 0., 1., 2., 1.],          [4., 3., 4., 5., 4.],          [7., 6., 7., 8., 7.]]]])