class oneflow.nn.ReflectionPad2d(padding: Union[int, Tuple[int, int, int, int]])

This operator pads the input tensor using the reflection of the input boundary.

The interface is consistent with PyTorch. The documentation is referenced from: https://pytorch.org/docs/1.10/generated/torch.nn.ReflectionPad2d.html.

Parameters

padding (Union[int,tuple]) – The size or bundary of padding, if is int uses the same padding in all dimension; if 4-dims tuple, uses $$(\text{padding}_{\text{left}}, \text{padding}_{\text{right}}, \text{padding}_{\text{top}}, \text{padding}_{\text{bottom}} )$$

Returns

Returns a new tensor which is result of the reflection padding of the input tensor.

Return type

Tensor

Shape:
• Input: $$(N, C, H_{\text{in}}, W_{\text{in}})$$

• Output: $$(N, C, H_{\text{out}}, W_{\text{out}})$$ where

$$H_{\text{out}} = H_{\text{in}} + \text{padding}_{\text{top}} + \text{padding}_{\text{bottom}}$$

$$W_{\text{out}} = W_{\text{in}} + \text{padding}_{\text{left}} + \text{padding}_{\text{right}}$$

For example:

>>> import oneflow as flow
>>> import numpy as np
>>> input = flow.tensor(np.arange(18).reshape((1, 2, 3, 3)).astype(np.float32))
>>> m = flow.nn.ReflectionPad2d((2, 2, 1, 1))
>>> out = m(input)
>>> out
tensor([[[[ 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.]],

[[14., 13., 12., 13., 14., 13., 12.],
[11., 10.,  9., 10., 11., 10.,  9.],
[14., 13., 12., 13., 14., 13., 12.],
[17., 16., 15., 16., 17., 16., 15.],
[14., 13., 12., 13., 14., 13., 12.]]]], dtype=oneflow.float32)

__init__(padding: Union[int, Tuple[int, int, int, int]])None

Initialize self. See help(type(self)) for accurate signature.

Methods

 __call__(*args, **kwargs) Call self as a function. __delattr__(name, /) Implement delattr(self, name). __dir__() Default dir() implementation. __eq__(value, /) Return self==value. __format__(format_spec, /) Default object formatter. __ge__(value, /) Return self>=value. __getattr__(name) __getattribute__(name, /) Return getattr(self, name). __gt__(value, /) Return self>value. __hash__() Return hash(self). __init__(padding) Initialize self. __init_subclass__ This method is called when a class is subclassed. __le__(value, /) Return self<=value. __lt__(value, /) Return self