未验证 提交 d0686047 编写于 作者: L littletomatodonkey 提交者: GitHub

Add pad doc (#2364)

* test=develop, add addmm doc

* add addmm doc

* test=develop, add addmm doc

* test=develop, add pad doc

* restore addmm

* test=develop, add pad

* test=develop, fix pad interface

* test=develop, add pad eng doc link

* test=develop, add other pads

* test=develop, remove pad default

* test=develop, fix const pad1d code

* test=develop, fix var

* test=develop, fix pad typo

* test=develop, rename tovar to totensor

* test=develop, fix code

* test=develop, fix typo

* test=develop, fix cos_sim interface

* test=develop, fix typo
上级 0ec0c92f
......@@ -29,12 +29,17 @@ paddle.nn
nn/clip_by_norm.rst
nn/collect_fpn_proposals.rst
nn/cond.rst
nn/ConstantPad1d.rst
nn/ConstantPad2d.rst
nn/ConstantPad3d.rst
nn/continuous_value_model.rst
nn/conv2d.rst
nn/conv2d_transpose.rst
nn/conv3d.rst
nn/conv3d_transpose.rst
nn/cosine_decay.rst
nn/cosine_similarity.rst
nn/CosineSimilarity.rst
nn/cross_entropy.rst
nn/data.rst
nn/deformable_roi_pooling.rst
......@@ -87,6 +92,7 @@ paddle.nn
nn/logsigmoid.rst
nn/loss.rst
nn/lrn.rst
nn/margin_rank_loss.rst
nn/matrix_nms.rst
nn/maxout.rst
nn/mse_loss.rst
......@@ -111,9 +117,14 @@ paddle.nn
nn/psroi_pool.rst
nn/random_crop.rst
nn/rank_loss.rst
nn/ReflectionPad1d.rst
nn/ReflectionPad2d.rst
nn/ReLU.rst
nn/relu.rst
nn/relu6.rst
nn/ReplicationPad1d.rst
nn/ReplicationPad2d.rst
nn/ReplicationPad3d.rst
nn/resize_bilinear.rst
nn/resize_nearest.rst
nn/resize_trilinear.rst
......@@ -157,6 +168,7 @@ paddle.nn
nn/functional/loss/margin_ranking_loss.rst
nn/functional/activation/sigmoid.rst
nn/layer/loss/MarginRankingLoss.rst
nn/ZeroPad2d.rst
nn/AdaptiveAvgPool2d.rst
nn/AdaptiveAvgPool3d.rst
nn/layer/activation/Sigmoid.rst
\ No newline at end of file
nn/layer/activation/Sigmoid.rst
.. _api_nn_ConstantPad1d:
ConstantPad1d
-------------------------------
:doc_source: paddle.nn.ConstantPad1d
.. _api_nn_ConstantPad2d:
ConstantPad2d
-------------------------------
:doc_source: paddle.nn.ConstantPad2d
.. _api_nn_ConstantPad3d:
ConstantPad3d
-------------------------------
:doc_source: paddle.nn.ConstantPad3d
.. _api_nn_CosineSimilarity:
CosineSimilarity
-------------------------------
:doc_source: paddle.nn.CosineSimilarity
.. _api_nn_ReflectionPad1d:
ReflectionPad1d
-------------------------------
:doc_source: paddle.nn.ReflectionPad1d
.. _api_nn_ReflectionPad2d:
ReflectionPad2d
-------------------------------
:doc_source: paddle.nn.ReflectionPad2d
.. _api_nn_ReplicationPad1d:
ReplicationPad1d
-------------------------------
:doc_source: paddle.nn.ReplicationPad1d
.. _api_nn_ReplicationPad2d:
ReplicationPad2d
-------------------------------
:doc_source: paddle.nn.ReplicationPad2d
.. _api_nn_ReplicationPad3d:
ReplicationPad3d
-------------------------------
:doc_source: paddle.nn.ReplicationPad3d
.. _api_nn_ZeroPad2d:
ZeroPad2d
-------------------------------
:doc_source: paddle.nn.ZeroPad2d
.. _api_nn_cosine_similarity:
cosine_similarity
-------------------------------
:doc_source: paddle.nn.functional.cosine_similarity
......@@ -2,6 +2,6 @@
pad
-------------------------------
:doc_source: paddle.fluid.layers.pad
:doc_source: paddle.nn.functional.pad
......@@ -48,7 +48,12 @@ paddle.nn
nn_cn/conv2d_transpose_cn.rst
nn_cn/conv3d_cn.rst
nn_cn/conv3d_transpose_cn.rst
nn_cn/ConstantPad1d_cn.rst
nn_cn/ConstantPad2d_cn.rst
nn_cn/ConstantPad3d_cn.rst
nn_cn/cosine_decay_cn.rst
nn_cn/cosine_similarity_cn.rst
nn_cn/CosineSimilarity_cn.rst
nn_cn/cross_entropy_cn.rst
nn_cn/data_cn.rst
nn_cn/deformable_roi_pooling_cn.rst
......@@ -108,6 +113,7 @@ paddle.nn
nn_cn/one_hot_cn.rst
nn_cn/pad2d_cn.rst
nn_cn/pad_cn.rst
nn_cn/Pad_cn.rst
nn_cn/pad_constant_like_cn.rst
nn_cn/PairwiseDistance_cn.rst
nn_cn/ParameterList_cn.rst
......@@ -124,11 +130,16 @@ paddle.nn
nn_cn/psroi_pool_cn.rst
nn_cn/random_crop_cn.rst
nn_cn/rank_loss_cn.rst
nn_cn/ReflectionPad1d_cn.rst
nn_cn/ReflectionPad2d_cn.rst
nn_cn/relu6_cn.rst
nn_cn/relu_cn.rst
nn_cn/resize_bilinear_cn.rst
nn_cn/resize_nearest_cn.rst
nn_cn/resize_trilinear_cn.rst
nn_cn/ReplicationPad1d_cn.rst
nn_cn/ReplicationPad2d_cn.rst
nn_cn/ReplicationPad3d_cn.rst
nn_cn/retinanet_detection_output_cn.rst
nn_cn/retinanet_target_assign_cn.rst
nn_cn/roi_align_cn.rst
......@@ -168,6 +179,6 @@ paddle.nn
nn_cn/yolo_box_cn.rst
nn_cn/loss_cn/MarginRankingLoss_cn.rst
nn_cn/functional_cn/margin_ranking_loss_cn.rst
nn_cn/ZeroPad2d_cn.rst
nn_cn/AdaptiveAvgPool2d_cn.rst
nn_cn/AdaptiveAvgPool3d_cn.rst
.. _cn_api_nn_ConstantPad1d:
ConstantPad1d
-------------------------------
.. py:class:: paddle.nn.ConstantPad1d(padding, value=0.0, data_format="NCL", name=None)
**ConstantPad1d**
按照 padding 对输入 以constant模式进行 ``pad``,即填充固定值。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right]。
- **value** (float32) - 待填充的值,默认值为0.0。
- **data_format** (str) - 指定input的format,可为 `'NCL'` 或者 `'NLC'`,默认值为`'NCL'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 2, 3)
pad = [1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ConstantPad1d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[0. 1. 2. 3. 0. 0.]
# [0. 4. 5. 6. 0. 0.]]]
.. _cn_api_nn_ConstantPad2d:
ConstantPad2d
-------------------------------
.. py:class:: paddle.nn.ConstantPad2d(padding, value=0.0, data_format="NCHW", name=None)
**ConstantPad2d**
按照 padding 对输入 以constant模式进行 ``pad``,即填充固定值。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right, pad_top, pad_bottom]。
- **value** (float32) - 待填充的值,默认值为0.0。
- **data_format** (str) - 指定input的format,可为 `'NCHW'` 或者 `'NHWC'`,默认值为`'NCHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 1, 2, 3)
pad = [1, 0, 1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ConstantPad2d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[[0. 0. 0. 0.]
# [0. 1. 2. 3.]
# [0. 4. 5. 6.]
# [0. 0. 0. 0.]
# [0. 0. 0. 0.]]]]
.. _cn_api_nn_ConstantPad3d:
ConstantPad3d
-------------------------------
.. py:class:: paddle.nn.ConstantPad3d(padding, value=0.0, data_format="NCDHW", name=None)
**ConstantPad3d**
按照 padding 对输入 以constant模式进行 ``pad``,即填充固定值。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right, pad_top, pad_bottom, pad_front, pad_back]。
- **value** (float32) - 待填充的值,默认值为0.0。
- **data_format** (str) - 指定input的format,可为 `'NCDHW'` 或者 `'NDHWC'`,默认值为`'NCDHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 1, 1, 2, 3)
pad = [1, 0, 1, 2, 0, 0]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ConstantPad3d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[[[0. 0. 0. 0.]
# [0. 1. 2. 3.]
# [0. 4. 5. 6.]
# [0. 0. 0. 0.]
# [0. 0. 0. 0.]]]]]
.. _cn_api_nn_CosineSimilarity:
CosineSimilarity
-------------------------------
.. py:class:: paddle.nn.CosineSimilarity(axis=1, eps=1e-8)
**CosineSimilarity**
计算x1与x2沿axis维度的余弦相似度。
参数:
- **axis** (int) - 指定计算的维度,会在该维度上计算余弦相似度,默认值为1。
- **eps** (float) - 很小的值,防止计算时分母为0,默认值为1e-8。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
np.random.seed(0)
x1 = np.random.rand(2,3)
x2 = np.random.rand(2,3)
x1 = paddle.to_tensor(x1)
x2 = paddle.to_tensor(x2)
cos_sim_func = nn.CosineSimilarity(axis=0)
result = cos_sim_func(x1, x2)
print(result.numpy())
# [0.99806249 0.9817672 0.94987036]
.. _cn_api_nn_ReflectionPad1d:
ReflectionPad1d
-------------------------------
.. py:class:: paddle.nn.ReflectionPad1d(padding, data_format="NCL", name=None)
**ReflectionPad1d**
按照 padding 对输入 以reflection模式进行 ``pad``,即填充以输入边界值为轴的映射 。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right]。
- **data_format** (str) - 指定input的format,可为 `'NCL'` 或者 `'NLC'`,默认值为`'NCL'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 2, 3)
pad = [1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ReflectionPad1d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[2. 1. 2. 3. 2. 1.]
# [5. 4. 5. 6. 5. 4.]]]
.. _cn_api_nn_ReflectionPad2d:
ReflectionPad2d
-------------------------------
.. py:class:: paddle.nn.ReflectionPad2d(padding, data_format="NCHW", name=None)
**ReflectionPad2d**
按照 padding 对输入 以reflection模式进行 ``pad``,即填充以输入边界值为轴的映射 。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right, pad_top, pad_bottom]。。
- **data_format** (str) - 指定input的format,可为 `'NCHW'` 或者 `'NHWC'`,默认值为`'NCHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 1, 4, 3)
pad = [1, 0, 1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ReflectionPad2d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[[ 5. 4. 5. 6.]
# [ 2. 1. 2. 3.]
# [ 5. 4. 5. 6.]
# [ 8. 7. 8. 9.]
# [11. 10. 11. 12.]
# [ 8. 7. 8. 9.]
# [ 5. 4. 5. 6.]]]]
\ No newline at end of file
.. _cn_api_nn_ReplicationPad1d:
ReplicationPad1d
-------------------------------
.. py:class:: paddle.nn.ReplicationPad1d(padding, data_format="NCL", name=None)
**ReplicationPad1d**
按照 padding 对输入 以replicate模式进行 ``pad``,即填充输入的边界值。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right]。
- **data_format** (str) - 指定input的format,可为 `'NCL'` 或者 `'NLC'`,默认值为`'NCL'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 2, 3)
pad = [1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ReplicationPad1d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[1. 1. 2. 3. 3. 3.]
# [1. 4. 5. 6. 6. 6.]]]
.. _cn_api_nn_ReplicationPad2d:
ReplicationPad2d
-------------------------------
.. py:class:: paddle.nn.ReplicationPad2d(padding, data_format="NCHW", name=None)
**ReplicationPad2d**
按照 padding 对输入 以replicate模式进行 ``pad``,即填充输入的边界值。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right, pad_top, pad_bottom]。
- **data_format** (str) - 指定input的format,可为 `'NCHW'` 或者 `'NHWC'`,默认值为`'NCHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 1, 2, 3)
pad = [1, 0, 1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ReplicationPad2d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[[1. 1. 2. 3.]
# [1. 1. 2. 3.]
# [4. 4. 5. 6.]
# [4. 4. 5. 6.]
# [4. 4. 5. 6.]]]]
.. _cn_api_nn_ReplicationPad3d:
ReplicationPad3d
-------------------------------
.. py:class:: paddle.nn.ReplicationPad3d(padding, data_format="NCDHW", name=None)
**ReplicationPad3d**
按照 padding 对输入 以replicate模式进行 ``pad``,即填充输入的边界值。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right, pad_top, pad_bottom, pad_front, pad_back]。
- **data_format** (str) - 指定input的format,可为 `'NCDHW'` 或者 `'NDHWC'`,默认值为`'NCDHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 1, 1, 2, 3)
pad = [1, 0, 1, 2, 0, 0]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ReplicationPad3d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[[[1. 1. 2. 3.]
# [1. 1. 2. 3.]
# [4. 4. 5. 6.]
# [4. 4. 5. 6.]
# [4. 4. 5. 6.]]]]]
.. _cn_api_nn_ZeroPad2d:
ZeroPad2d
-------------------------------
.. py:class:: paddle.nn.ZeroPad2d(padding, data_format="NCHW", name=None)
**ZeroPad2d**
按照 padding 对输入填充固定值0。
参数:
- **padding** (Tensor | List[int32]) - 填充大小。pad的格式为[pad_left, pad_right, pad_top, pad_bottom]。
- **data_format** (str) - 指定input的format,可为 `'NCHW'` 或者 `'NHWC'`,默认值为`'NCHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回:无
**代码示例**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
input_shape = (1, 1, 2, 3)
pad = [1, 0, 1, 2]
data = np.arange(np.prod(input_shape), dtype=np.float32).reshape(input_shape) + 1
my_pad = nn.ZeroPad2d(padding=pad)
data = paddle.to_tensor(data)
result = my_pad(data)
print(result.numpy())
# [[[[0. 0. 0. 0.]
# [0. 1. 2. 3.]
# [0. 4. 5. 6.]
# [0. 0. 0. 0.]
# [0. 0. 0. 0.]]]]
.. _cn_api_paddle_nn_cosine_similarity:
cosine_similarity
-------------------------------
.. py:function:: paddle.nn.functional.cosine_similarity(x1, x2, axis=1, eps=1e-8)
该OP用于计算x1与x2沿axis维度的余弦相似度。
参数:
- **x1** (Tensor) - Tensor,数据类型支持float32, float64。
- **x2** (Tensor) - Tensor,数据类型支持float32, float64。
- **axis** (int) - 指定计算的维度,会在该维度上计算余弦相似度,默认值为1。
- **eps** (float) - 很小的值,防止计算时分母为0,默认值为1e-8。
返回: 余弦相似度的计算结果,数据类型与x1, x2相同。
返回类型:Tensor
**代码示例:**
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
np.random.seed(0)
x1 = np.random.rand(2,3)
x2 = np.random.rand(2,3)
x1 = paddle.to_tensor(x1)
x2 = paddle.to_tensor(x2)
result = paddle.nn.functional.cosine_similarity(x1, x2, axis=0)
print(result.numpy())
# [0.99806249 0.9817672 0.94987036]
......@@ -2,6 +2,96 @@
pad
-------------------------------
:doc_source: paddle.fluid.layers.pad
.. py:function:: paddle.nn.functional.pad(x, pad, mode="constant", value=0.0, data_format="NCHW", name=None)
该OP依照 pad 和 mode 属性对input进行 ``pad`` 。
参数:
- **x** (Tensor) - Tensor,format可以为 `'NCL'`, `'NLC'`, `'NCHW'`, `'NHWC'`, `'NCDHW'`
或 `'NDHWC'`,默认值为`'NCHW'`,数据类型支持float16, float32, float64, int32, int64。
- **pad** (Tensor | List[int32]) - 填充大小。当输入维度为3时,pad的格式为[pad_left, pad_right];
当输入维度为4时,pad的格式为[pad_left, pad_right, pad_top, pad_bottom];
当输入维度为5时,pad的格式为[pad_left, pad_right, pad_top, pad_bottom, pad_front, pad_back]。
- **mode** (str) - padding的四种模式,分别为 `'constant'`, `'reflect'`, `'replicate'` 和`'circular'`。
`'constant'` 表示填充常数 `value`;`'reflect'` 表示填充以input边界值为轴的映射;`'replicate'` 表示
填充input边界值;`'circular'`为循环填充input。具体结果可见以下示例。默认值为 `'constant'` 。
- **value** (float32) - 以 `'constant'` 模式填充区域时填充的值。默认值为0.0。
- **data_format** (str) - 指定input的format,可为 `'NCL'`, `'NLC'`, `'NCHW'`, `'NHWC'`, `'NCDHW'`
或 `'NDHWC'`,默认值为`'NCHW'`。
- **name** (str, 可选) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,缺省值为None。
返回: 对input进行``pad`` 的结果,数据类型和input相同。
返回类型:Tensor
**示例**:
.. code-block:: text
x = [[[[[1., 2., 3.],
[4., 5., 6.]]]]]
Case 0:
pad = [2, 2, 1, 1, 0, 0],
mode = 'constant'
pad_value = 0
Out = [[[[[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 1. 2. 3. 0. 0.]
[0. 0. 4. 5. 6. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]]]]]
Case 1:
pad = [2, 2, 1, 1, 0, 0],
mode = 'reflect'
Out = [[[[[6. 5. 4. 5. 6. 5. 4.]
[3. 2. 1. 2. 3. 2. 1.]
[6. 5. 4. 5. 6. 5. 4.]
[3. 2. 1. 2. 3. 2. 1.]]]]]
Case 2:
pad = [2, 2, 1, 1, 0, 0],
mode = 'replicate'
Out = [[[[[1. 1. 1. 2. 3. 3. 3.]
[1. 1. 1. 2. 3. 3. 3.]
[4. 4. 4. 5. 6. 6. 6.]
[4. 4. 4. 5. 6. 6. 6.]]]]]
Case 3:
pad = [2, 2, 1, 1, 0, 0],
mode = 'circular'
Out = [[[[[5. 6. 4. 5. 6. 4. 5.]
[2. 3. 1. 2. 3. 1. 2.]
[5. 6. 4. 5. 6. 4. 5.]
[2. 3. 1. 2. 3. 1. 2.]]]]]
**代码示例:**
.. code-block:: python
import numpy as np
import paddle
import paddle.nn.functional as F
paddle.disable_static()
# example 1
x_shape = (1, 1, 3)
x = np.arange(np.prod(x_shape), dtype=np.float32).reshape(x_shape) + 1
tensor_x = paddle.to_tensor(x)
y = F.pad(tensor_x, [2, 3], value=1, mode='constant')
print(y.numpy())
# [[[1. 1. 1. 2. 3. 1. 1. 1.]]]
# example 2
x_shape = (1, 1, 2, 3)
x = np.arange(np.prod(x_shape), dtype=np.float32).reshape(x_shape) + 1
tensor_x = paddle.to_tensor(x)
y = F.pad(tensor_x, [1, 2, 1, 1], value=1, mode='circular')
print(y.numpy())
# [[[[6. 4. 5. 6. 4. 5.]
# [3. 1. 2. 3. 1. 2.]
# [6. 4. 5. 6. 4. 5.]
# [3. 1. 2. 3. 1. 2.]]]]
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册