ReflectionPad2d#
- classtorch.nn.modules.padding.ReflectionPad2d(padding)[source]#
Pads the input tensor using the reflection of the input boundary.
ForN-dimensional padding, use
torch.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 (,,,)Note that padding size should be less than the corresponding input dimension.
- Shape:
Input: or.
Output: or where
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.]]]])