oneflow.nn.ConstantPad3d

class oneflow.nn.ConstantPad3d(padding)

Pads the input tensor boundaries with a constant value. The interface is consistent with PyTorch, and referenced from: https://pytorch.org/docs/1.10/generated/torch.nn.ConstantPad3d.html.

For N-dimensional padding, use flow.nn.functional.pad().

Parameters
  • padding (int, list, tuple) – the size of the padding. If is int, uses the same padding in all boundaries. If a 6-tuple, uses (\(\text{padding_left}\), \(\text{padding_right}\), \(\text{padding_top}\), \(\text{padding_bottom}\), \(\text{padding_front}\), \(\text{padding_back}\))

  • value (int, float) – The constant value used for padding. Defaults to 0.

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

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

    \(D_{out} = D_{in} + \text{padding_front} + \text{padding_back}\)

    \(H_{out} = H_{in} + \text{padding_top} + \text{padding_bottom}\)

    \(W_{out} = W_{in} + \text{padding_left} + \text{padding_right}\)

Examples:

>>> import oneflow as flow
>>> import numpy as np

>>> input = flow.tensor(np.arange(8).reshape(1,1,2,2,2).astype(np.int32))
>>> m = flow.nn.ConstantPad3d(padding=1, value=9)
>>> output = m(input)
>>> output
tensor([[[[[9, 9, 9, 9],
           [9, 9, 9, 9],
           [9, 9, 9, 9],
           [9, 9, 9, 9]],

          [[9, 9, 9, 9],
           [9, 0, 1, 9],
           [9, 2, 3, 9],
           [9, 9, 9, 9]],

          [[9, 9, 9, 9],
           [9, 4, 5, 9],
           [9, 6, 7, 9],
           [9, 9, 9, 9]],

          [[9, 9, 9, 9],
           [9, 9, 9, 9],
           [9, 9, 9, 9],
           [9, 9, 9, 9]]]]], dtype=oneflow.int32)