提交 90c8a58c 编写于 作者: M Megvii Engine Team

docs(docstring): add pad docstring

GitOrigin-RevId: eaf6a874560de1298f09ad01d055fb56cea807f9
上级 5f4501e0
...@@ -1894,9 +1894,46 @@ def pad( ...@@ -1894,9 +1894,46 @@ def pad(
mode: str = "constant", mode: str = "constant",
constant_value: float = 0.0, constant_value: float = 0.0,
) -> Tensor: ) -> Tensor:
""" r"""Pads the input tensor.
Pad is python warpper for padding opr in megbrain, can padding in random one of the max 7 dimensions.
Supported constant, edge(replicate) and reflect mode, constatnt is the default mode. Args:
pad_width: A tuple. Each element in the tuple is the tuple of 2-elements,
the 2 elements represent the padding size on both sides of the current dimension, ``(front_offset, back_offset)``
mode: One of the following string values. Default: ``'constant'``
* ``'constant'``: Pads with a constant value.
* ``'reflect'``: Pads with the edge values of tensor.
* ``'replicate'``: Pads with the reflection of the tensor mirrored on the first and last values of the tensor along each axis.
constant_val: Fill value for ``'constant'`` padding. Default: 0
Examples:
>>> import numpy as np
>>> inp = Tensor([[1., 2., 3.],[4., 5., 6.]])
>>> inp
Tensor([[1. 2. 3.]
[4. 5. 6.]], device=xpux:0)
>>> F.nn.pad(inp, pad_width=((1, 1),), mode="constant")
Tensor([[0. 0. 0.]
[1. 2. 3.]
[4. 5. 6.]
[0. 0. 0.]], device=xpux:0)
>>> F.nn.pad(inp, pad_width=((1, 1),), mode="constant", constant_value=9)
Tensor([[9. 9. 9.]
[1. 2. 3.]
[4. 5. 6.]
[9. 9. 9.]], device=xpux:0)
>>> F.nn.pad(inp, pad_width=((1, 1), (1, 2)), mode="reflect")
Tensor([[5. 4. 5. 6. 5. 4.]
[2. 1. 2. 3. 2. 1.]
[5. 4. 5. 6. 5. 4.]
[2. 1. 2. 3. 2. 1.]], device=xpux:0)
>>> F.nn.pad(inp, pad_width=((1, 1), (1, 2)), mode="replicate")
Tensor([[1. 1. 2. 3. 3. 3.]
[1. 1. 2. 3. 3. 3.]
[4. 4. 5. 6. 6. 6.]
[4. 4. 5. 6. 6. 6.]], device=xpux:0)
""" """
p_offsets = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] p_offsets = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
......
...@@ -5,9 +5,50 @@ from .module import Module ...@@ -5,9 +5,50 @@ from .module import Module
class Pad(Module): class Pad(Module):
""" r"""Pads the input tensor.
Pad is python warpper for padding opr in megbrain, can padding in random one of the max 7 dimensions.
Supported constant, edge(replicate) and reflect mode, constatnt is the default mode. Args:
pad_width: A tuple. Each element in the tuple is the tuple of 2-elements,
the 2 elements represent the padding size on both sides of the current dimension, ``(front_offset, back_offset)``
mode: One of the following string values. Default: ``'constant'``
* ``'constant'``: Pads with a constant value.
* ``'reflect'``: Pads with the edge values of tensor.
* ``'replicate'``: Pads with the reflection of the tensor mirrored on the first and last values of the tensor along each axis.
constant_val: Fill value for ``'constant'`` padding. Default: 0
Examples:
>>> import numpy as np
>>> inp = Tensor([[1., 2., 3.],[4., 5., 6.]])
>>> inp
Tensor([[1. 2. 3.]
[4. 5. 6.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1),), mode="constant")
>>> m(inp)
Tensor([[0. 0. 0.]
[1. 2. 3.]
[4. 5. 6.]
[0. 0. 0.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1),), mode="constant", constant_val=9)
>>> m(inp)
Tensor([[9. 9. 9.]
[1. 2. 3.]
[4. 5. 6.]
[9. 9. 9.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1), (1, 2)), mode="reflect")
>>> m(inp)
Tensor([[5. 4. 5. 6. 5. 4.]
[2. 1. 2. 3. 2. 1.]
[5. 4. 5. 6. 5. 4.]
[2. 1. 2. 3. 2. 1.]], device=xpux:0)
>>> m = M.Pad(pad_width=((1, 1), (1, 2)), mode="replicate")
>>> m(inp)
Tensor([[1. 1. 2. 3. 3. 3.]
[1. 1. 2. 3. 3. 3.]
[4. 4. 5. 6. 6. 6.]
[4. 4. 5. 6. 6. 6.]], device=xpux:0)
""" """
def __init__( def __init__(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册